Full nodes are vital for the Bitcoin network to remain functional.
While they secure the network against both internal and external threats, full nodes are responsible for maintaining the Bitcoin blockchain with an outstanding 99.986% uptime.
Last week, we explored the basics about full nodes on Bitcoin.
Now, it’s time to take a look at how to set up and run one in 4 easy steps to support the Bitcoin network and keep it resilient.
Recap: Full Nodes on Bitcoin
Before we dive deeper into our topic, let’s first summarize the basics about full Bitcoin nodes.
As computer devices connected to the Bitcoin network, full nodes are responsible for downloading and storing every block and transaction record since BTC’s launch in 2009.
In addition to that, full nodes also validate all the blocks and transactions (both historical and current) against Bitcoin’s consensus rules while monitoring and communicating with miners and other nodes in the network.
While both miners and full nodes keep the network secure, the latter parties neither have to compete with others to solve complex mathematical puzzles nor do they receive any rewards in exchange for maintaining the BTC ecosystem.
Besides keeping Bitcoin resilient, full nodes offer other benefits for users operating them, such as increased security and privacy as well as access to faster querying.
In most cases, operating a full node doesn’t involve any risks.
But, on some occasions, users may encounter regulatory issues in jurisdictions where BTC is banned, problems with antivirus software and bandwidth usage, and possible threats of being targeted by cyber attacks.
Fortunately, there is a solution for most of these problems, which we will introduce later in this article.
Most importantly, the more full nodes are operating in the Bitcoin network, the more secure and resilient the network is.
And this is the exact reason why we are showing you how to set up and run your own full Bitcoin node.
What Are the Requirements for Running a Full Bitcoin Node?
Bitcoin nodes can be operated on most machines.
However, to avoid any issues and have a flawless experience, we recommend meeting the following minimum requirements:
- A desktop or a laptop device with a recent version of Windows, Mac OS X, or Linux installed
- Minimum 7GB for pruning setup (more on this later) and 340 GB of free disk space for a standard full node setup with a minimum read/write speed of 100 MB/s (the more disk space you have, the better as the BTC blockchain’s size grows quickly, currently standing at around 340 GB)
- 2 GB of memory (RAM)
- A broadband internet connection with at least 50 KB/s upload speeds
- Either an unmetered connection, one with high upload limits, or an internet connection you regularly monitor to avoid exceeding your limits. It’s crucial to be aware that Bitcoin full nodes can upload over 200 GB of data each month with an average of 20 GB/month download usage (and around 340 GB the first time you download the complete blockchain)
- A minimum of 6 hours a day to run the full node. You can use your device for other things while the node is running. However, the more it operates in a day, the better for the network (in a best-case scenario, your node will run continuously)
What Methods Can You Use to Operate a Full Node?
There are several ways you can set up and run a full node on Bitcoin.
Based on the device you use to operate it, you can choose between:
- A desktop computer or a laptop
- A Raspberry Pi
- A specialized device purchased from a third party manufacturer
- Or even a compatible Android smartphone or tablet
That said, while you should be cautious and do your own due diligence when purchasing third-party devices, running a full node on an Android device or Raspberry Pi better suits more tech-savvy users.
For that reason, we will show you how to set up and operate a full node on a desktop device with Windows 10 installed.
You can also choose to run a full node using either the Bitcoin Core Graphical User Interface (GUI) or Bitcoin Core daemon (bitcoind) software solutions.
Since the latter is more suited for developers and advanced users, we will use the Bitcoin Core GUI in our tutorial.
How to Set Up a Full Node on Bitcoin in 4 Simple Steps
Now that we have explored all the essentials you need to know before running a full node, let’s jump right to the exact steps you need to take to set up and operate one on Bitcoin.
Step 1: Download and Install Bitcoin Core
The first step to setting up a full node on the BTC blockchain is downloading Bitcoin Core, an open-source software solution used to maintain the network and operate full nodes.
When you are on the page, it’s important to verify that you have a secure connection to the server by clicking on the lock icon next to the website URL.
After ensuring that you maintain a secure connection to the site, click the orange “Download Bitcoin Core” button to download the software to your computer.
Upon successfully downloading the file, open it to start the installation process (check out this article if you have problems opening Bitcoin Core).
On the final screen, keep the box ticked to run the software right after installing Bitcoin Core on your device.
Step 2: Set up Bitcoin Core to Download the BTC Blockchain
Upon running Bitcoin Core for the first time, the software will display a welcome screen, in which you can decide where to store the BTC blockchain on your computer’s hard drive.
After selecting the location for that, you will be given the option to choose whether to operate a full node in the standard way by downloading and keeping all the data (around 340 GB) on your computer or turning on pruning mode.
If you choose the latter option (by ticking the box on the screen), you will still be running a full node on Bitcoin and downloading all the data from the blockchain.
However, Bitcoin Core will automatically delete blocks after validating them, storing only the most recent one on your device to save hard drive space (this way, you will only keep approximately 2 GB of data about the BTC blockchain on your computer).
For that reason, if you don’t have enough space on your hard drive or just want to refrain from overloading it with 340 GB of data, we recommend running a full node via pruning mode.
When you have chosen your preferred option, click “OK” to finish the setup.
Before Bitcoin Core starts running, you will probably get a message from your firewall saying it is trying to block your connection.
To avoid that, tick both boxes to allow Bitcoin Core to communicate on both private and public networks, which is a practice considered safe in the crypto community.
On the next screen, Bitcoin Core will start downloading and validating all blocks and transactions since BTC’s launch, which may take several hours (or a few days) to reach full synchronization.
Step 3: Network Configuration
For most users, Bitcoin Core will work as intended, establishing both inbound and outbound connections to other nodes in the network without further configuration.
However, it’s essential to test your connections to verify that, which you can do so by heading to the following site.
Important: You can only test your connection at the site when your node is fully synced with the Bitcoin blockchain.
When you are there, click the “Check Node” button next to the IP address and port.
If you see a green box, it means that your port is open and you are receiving inbound connections from other nodes. In this case, your full node is running as intended, and you don’t have further tasks.
However, if you get a red box, then your port is closed, and you have to configure your network to open it.
To do that, we recommend following the instructions inside this article in the “Enabling Connections” section.
Step 4: Enhance Your Privacy With Tor (Optional)
Running a Bitcoin full node may increase the risks of getting targeted by attackers seeking to take down the BTC network.
While achieving the above is highly unlikely, being at the center of a cyber attack could negatively impact your bandwidth and certain operations on your device.
It’s an excellent way to run a full Bitcoin node on the anonymity-focused Tor network to avoid such a scenario and enhance your privacy.
By doing so, others won’t be able to discover that you are operating a full node while broadcasting transactions anonymously.
The first step to achieve that is to download and install the Tor browser from the open-source project’s official website.
When you are ready, go to the folder where you have installed the software and head inside the “Browser/TorBrowser/Tor”.
In that folder, run “tor.exe” to connect to the Tor network. For the service to work with Bitcoin Core, it’s crucial to open “tor.exe” instead of simply using the Tor Browser app.
After that, head back to Bitcoin Core and go to “Options” inside the “Settings” menu.
Under “Network”, tick the box next to “Connect through SOCKS5 proxy (default proxy)” and add “127.0.0.1” as the Proxy IP and “9050” as the Port.
With this configuration, you will be able to run your full node over Tor to achieve increased privacy.
After you are done with that, restart Bitcoin Core and wait a few minutes for it to connect to other nodes.
If the software shows “Connecting to peers” in the bottom left corner of the screen for several minutes, it means that it couldn’t manage to establish a connection with the Tor network.
In that case, head back to network settings in Bitcoin Core and change the Port to “9150” as Tor sometimes uses it for Windows connections.
It’s also a good idea to check whether “tor.exe” is running on your computer by opening Task Manager (CTRL+ALT+DEL) and finding it under the “Background processes” tab.
If you can’t find “tor.exe” there, be sure to open the file again inside the directory where you have installed the Tor Browser.
You Make Bitcoin Resilient By Running a Full Node
If you have done every step right, Bitcoin Core has already connected to other nodes in the network to download and validate the BTC blockchain.
By operating a full node, you support the Bitcoin ecosystem by keeping the network secure and resilient.
And remember: the more full nodes Bitcoin has, the better it can protect against internal and external threats!