June 3, 2019
How to run a Bitcoin Node on your AVADO
How to run a Bitcoin Node on your AVADO
Your AVADO comes with the Bitcoin Core 0.18.0 client. This package allows you to use your AVADO as a Bitcoin Full Node
In this guide, we explain how to set up your Bitcoin Node on AVADO.
What is a Bitcoin Full Node?
A Bitcoin node is a computer that is participating in the global peer-to-peer Bitcoin network. Your AVADO full node propagates transactions and blocks everywhere. Most importantly though your full node gives you direct access to the Blockchain which increases your privacy and security as you don’t trust anyone else but your own node.
Your AVADO full node is able to serve lightweight clients by allowing them to transmit their transactions to the network and by notifying them when a transaction affects their wallet (for instructions how to set up the Lightweight Client support, go to the Advanced section below). If not enough nodes are supporting the network, clients won’t be able to connect through the peer-to-peer network—they’ll have to use centralized services instead. To avoid this scenario we suggest you #RunYourOwnNode :o)
Requirements to run a Bitcoin Node on your AVADO
The AVADO Node meets all the requirements to run a Bitcoin Core full node and makes it very easy to install it.
As you may run other applications on the AVADO as well, please make sure you have at least 280 gigabytes of free disk space available.
In general, we recommend a broadband Internet connection with upload speeds of at least 400 kilobits (50 kilobytes) per second for the use of the AVADO Node.
We also recommend an unmetered connection, as well as a connection with high upload limits, or a connection you regularly monitor to ensure it doesn’t exceed its upload limits. It’s common for full nodes on high-speed connections to use 200-gigabit upload or more a month. Download usage is around 20 gigabit a month, plus around an additional 195 gigabit the first time you start your node.
What can I use it for?
Only trust yourself
You don’t have to trust anyone to keep the network honest if you #RunYourOwnNode— you do it yourself. If a transaction breaks consensus rules, your node will automatically reject it and it won’t be carried out, even if everyone else accepts the transaction.
Having your own node also means you can be sure your transactions will be broadcasted to the network. If you’re running a lightweight client, you have to rely on someone else’s full node to do that for you.
It is still up to the miners to confirm your transaction by adding it to a block. A full node ensures that your transactions are actually broadcast to the miners.
Choice autonomy
When a blockchain upgrades the protocol (a hard fork), lightweight nodes will automatically follow the chain with the biggest accumulated difficulty. Running a Bitcoin Full node on AVADO you always get to choose for yourself. It is your decision to stay on the old chain or follow the fork and advance to the new chain. Do it like Frank Sinatra and have it your way.
Safety & Privacy
Bitcoin is a peer-to-peer system, In order to take full advantage of that, you have to actually be a “peer”. That means running your own node.
Not using your own Node, your transactions are always processed through a third party who will have access to information about your transactions, as well as any personal data you give them as service providers. If you use an email to register your online wallet, that email can be connected to your transactions.
To become truly pseudonymous, you have to connect to the Bitcoin network directly. Full nodes are the only way to do that. Privacy and the lowest possible amount of trust.
Initial Block Download (IBD)
If you are setting up a new Bitcoin node following the instructions below, you will go through the IBD process at the first run, and it may take a considerable amount of time as a new node has to download the entire blockchain. During the download, there will be a high usage for the network and CPU (since the node has to verify the blocks downloaded), and the client will take up an increasing amount of storage space. Depending on the AVADO device you are using, downloading the Bitcoin Node can take between 5 and 12 hours. You can follow the progress by looking at the home screen.
Instructions to run a Bitcoin Node on your AVADO
Step 1: connect to the WiFi of your AVADO Box or use the VPN to connect remotely
Step 2: go to the DAppStore Page
Step 3: choose the Bitcoin package and click on the install button
Step 4: you can validate correct installation by clicking on the package
Step 5: Expected behavior: It takes several hours to sync, you can see the progress of it here. When this is green you can start using it.
Congratulations - you’re now running your own bitcoin node
------------
Advanced options
Reduce Storage
It is possible to configure your node to run in “pruned” mode in order to reduce storage requirements. This can reduce the disk usage from over 280GB to around 5GB.
Running a pruned node is not compatible with -txindex and -rescan. It also disables the RPC importwallet.
To enable block pruning set BTC_prune=N in the AVADO Bitcoin package (see screenshot), where N is the number of MiB to allow for raw block and undo data.
The default setting of 0 disables pruning. The minimal value above 0 is 550. Higher values ensure that your node will not shut down upon blockchain reorganizations of more than 2 days - which is unlikely to happen in practice. In future releases, a higher value may also help the network overall because stored blocks could be served to other nodes.
BTC TXINDEX
This value builds a complete transaction index, which is needed in some cases for Blockexplorers and wallets. If you’re using Bitcoin Core just for your own personal use, you probably don’t need the BTC_TXINDEX = 1 option. But, if you’re using Bitcoin core for development or blockchain analysis of some sort, you will need to set BTC_TXINDEX=1 to be able to get transactions data for any transaction in the blockchain.
If “txindex” is set to true (1), your Bitcoin Node on AVADO maintains an index of all transactions that have ever happened, which you can query using the remote procedure call (RPC) method getrawtransaction or the RESTful API call get-tx.
Several popular wallet and “block explorer” programs require BTC_TXINDEX=1. This does not alter the behavior of Bitcoin’s peer-to-peer interface.
Support Lightweight Clients
If you want to extensively support the Bitcoin network, you must allow inbound connections.
When the Bitcoin package on your AVADO starts, it establishes 8 outbound connections to other full nodes so it can download the latest blocks and transactions. If you just want to use your full node as a wallet, you don’t need more than these 8 connections—but if you want to support lightweight clients and other full nodes on the network, you have to allow inbound connections.
If your server is connected directly to the Internet usually you don’t require any special configuration. Use the instructions below to confirm your server-based node accepts inbound connections.
Your router or modem usually filter Home connections. Bitcoin Core will request your router automatically to configure itself to allow inbound connections to port 8333. In the case that your router does not allow automatic configuration, you must manually configure your router. You may also have to configure your firewall to allow inbound connections to port 8333. Please see the following subsections for details.
Testing if incoming connections are possible:
Testing Connections
You can test whether your node accepts inbound connections by using The BitNodes project online tool. Before using BitNodes, you must first ensure that your node is fully synced with the blockchain. Once you’ve done so, start Bitcoin Core, wait 10 minutes, and then visit the Bitnodes page. The tool will try to guess your IP address—if the address is wrong (or blank), you will have to enter your address manually.
Enabling Connections
If Bitcoin Core is not able to automatically configure your router to open port 8333, you will need to manually configure your router. We have tried to make the following instructions generic enough to cover most router models; if you need specific help with your router, please ask for help on specialized support sites such as SuperUser.
To enable inbound connections requires two steps:
- Giving your computer a static (unchanging) internal IP address by configuring the Dynamic Host Configuration Protocol (DHCP) on your router.
- Forwarding inbound connections from the Internet through your router to your computer where the AVADO Bitcoin Node can process them.
Configuring DHCP
In order for your router to direct incoming port 8333 connections to your AVADO Node, it needs to know your AVADO’s internal IP address. However, routers usually give computers dynamic IP addresses that change frequently, so we need to ensure your router always gives your AVADO the same internal IP address.
Start by logging into your router’s administration interface. Most routers can be configured using one of the following URLs, so continue clicking links until you find one that works. If none work, consult your router’s manual.
http://192.168.0.1 (some Linksys/Cisco models)
http://192.168.1.1 (some D-Link/Netgear models)
http://192.168.2.1 (some Belkin/SMC models)
http://192.168.123.254 (some US Robotics models)
http://10.0.1.1 (some Apple models)
Upon connecting, you will probably be prompted for a username and password. If you configured a password, enter it now. If you have not configured a password, the Router provides a database of known default username and password pairs.
After logging in, you want to search your router’s menus for options related to DHCP, the Dynamic Host Configuration Protocol. These options may also be called Address Reservation. The router page shown below calls the option we need “DHCP Reservation”:
In the reservation configuration, some routers will display a list of computers and devices connected to your network, and then lets you select a device to make its current IP address permanent:
If that’s the case, find the AVADO Node in the list, select it, and add it to the list of reserved addresses. Write down its current IP address—we’ll use the address in the next section.
Other routers require a more manual configuration. For these routers, you will need to look up the fixed address (MAC address) for your computer’s network card and add it to the list. This operation differs by operating system:
- Windows 7 & 8: Press Win-R (Windows key plus the R key) to open the Run dialog. Type cmd to open the console. Type ipconfig /all and find the result that is as close as possible to your connection—usually a wireless connection. Look for a line that starts with “Physical Address” it should contain a value like this:
Physical Address… … … : 01-23-45-67-89-AB
Replace all the dashes with colons, so the address looks like this: 01:23:45:67:89:AB. Use that address in the instructions below. - Linux: open a terminal and type ifconfig. Find the result that is very similar to your connection—a result starting with wlan indicates a wireless connection. Find the field that starts with “HWaddr” and copy the field that looks like 01:23:45:67:89:ab. Use that value in the instructions below.
- Mac OS X: open a terminal and type ifconfig. Find the result that best matches your connection—a result starting with en1 usually indicates a wireless connection. Find the field that starts with ether: and copy the following field that looks like 01:23:45:67:89:ab. Use that value in the instructions below.
Once you have the MAC address, you can paste it into to your router’s manual DHCP assignment table, as illustrated below. Also choose an IP address and write it down for the instructions in the next subsection. After entering this information, save the changes.
Finally reboot your computer to ensure the address you selected gets assigned and proceed to the Port Forwarding instructions below.
Port Forwarding
For this step, you need to know the local IP address of the AVADO Node. Make sure you use the information from configuring the DHCP assignment table in the subsection above.
Login to your router using the same steps described near the top of the DHCP subsection. Look for an option called “Port”, like Port Forwarding, Port Assignment, or anything alike. On some routers, this option is buried in the Applications & Gaming menu.
The port forwarding settings should allow you to map an external port on your router to the “internal port” of a device on your network as shown in the screenshot below.
Both ports (external and internal port) should be 8333 for Bitcoin. Make sure the IP address you enter is the same one you used in the previous subsection.
Make sure you save the entry, after filling in the details for the mapping. You should not need to restart anything. Start the Bitcoin package on your AVADO (if you haven’t already) and follow the Testing Connection instructions to test your connection.
If you still can not connect and you use a firewall, you probably need to change your firewall settings. See the section below for details.
If something else is not working, it is probably a problem with your router configuration. Read the instructions above again to see if you missed anything, search the web for help with “port forwarding”, and ask for help in our AVADO Support Group on Telegram.
Firewall Configuration
Firewalls block inbound connections. You need to configure your computer’s firewall to allow connections to port 8333 for using Bitcoin. This should be as easy as starting your firewall configuration software and defining a new rule to allow inbound connections to port 8333. For additional information for Windows Users, see the links below:
- Instructions for Windows Firewall
- Instructions for Norton Firewall
- Instructions for Mcafee Personal Firewall
Mac OS X comes with the firewall disabled by default, but if you have enabled it, go to the section Allowing Specific Applications from the official Apple guide.
Ubuntu also comes with the firewall disabled by default, but if you have enabled it, see the Ubuntu wiki page for information about adding port forwarding rules.
Once you have allowed inbound connections to port 8333, start the Bitcoin package on your AVADO (if you haven’t already) and follow the Testing Connections instructions to test your connection.
If anything else went wrong re-read the DHCP, port forwarding, or the firewall instructions above to see if you missed anything, search the web for help with “port forwarding” and “opening firewall ports”, and ask for help on sites like SuperUser or try our AVADO Support.
Now you are an expert on running your own Bitcoin Full Node.