Bitcoin Full Nodes: What They Are and How to Set One Up
What’s a Bitcoin full node?
The Bitcoin network is a collection of computers all over the world running the Bitcoin Core software that verifies transactions and blocks. It’s the distribution of these “nodes” (the term for a computer attached to the network) and the fact that anyone can set one up that makes Bitcoin “decentralized.” This means that anyone anywhere can set up a Bitcoin node as long as they have access to a computer with the required power and an internet connection. And if even one node is up and running, Bitcoin lives on.
Most Bitcoin nodes also act as a Bitcoin client, which allows transactions to be sent to the network. This means a node acts as your personal interface with the Bitcoin network as a whole. Running a node ensures that your Bitcoin transactions are verified and sent to whoever you’re transacting with. This puts the power to send uncensorable money across the world or across the street in your hands and contributes to the security and strength of the Bitcoin network itself.
Running a node is different than mining Bitcoin, which involves running special software that works to solve or complete new blocks on the network, releasing a certain number of Bitcoin to those computers responsible for adding a block to the blockchain. While mining Bitcoin has become quite resource-intensive and much of the mining work is being done by large companies with data centers devoted to the process, running a full node is accessible to anyone.
OK, I get it…. Why should I run a full node?
There are various reasons to set up a full node yourself:
- You believe in Bitcoin and want the network to grow and succeed. Every node added to the network brings us closer to a future where everyone is transacting on the Bitcoin network and no governments or other third parties can do anything to stop it.
- You intend to use the Bitcoin network to transact a lot and want to ensure that your transactions are verified. The idea behind Bitcoin is the removal of trust from the monetary system: you don’t have to trust a bank to hold or send your money. But as long as you’re not running your own node, you’re still trusting someone who IS running a node to verify that transaction in a timely manner. Taking your financial life into your own hands is empowering.
- You can tell all your friends that you don’t just own Bitcoin, you ARE Bitcoin… at least part of it 🙂
I’m convinced! How can I set up a full node?
There are 3 methods to go about setting up your own Bitcoin node as of right now, ranging from pretty technical and time-intensive to really easy but a little more expensive. As development and adoption of Bitcoin technology continue, this process will only get easier and cheaper. If you want to get ahead of the game and jump into the action now though, you’ll do it in one of these ways:
- Setting up a node on your own computer (or Raspberry Pi or any machine with the required hardware), or
- Setting up a node in the cloud using hosting service like Amazon Web Services, Digital Ocean or any number of other providers, or
- Buying a standalone “node-in-a-box” device that sets up the node automatically (Skip to the bottom to hear about this option)
I’m ready to node, let’s get to it!
While the first two methods are very similar in process, there are considerations for each.
Choose your machine!
You will need to set the node up on a computer that has these minimum required hardware specifications:
- A recent version of macOS, Linux, or Windows operating system
- 145GB of free disk space
- 2GB of RAM
- A high-speed internet connection (at least 50kB/s)
- Unlimited or very high upload/download limits (a node can upload ~200GB and download ~20GB per month)
If you choose to make use of the cloud and set up on a virtual server, make sure that whatever machine you rent has the same specifications! The cheapest option I found was from Scaleway, where you can get a machine powerful enough to run a node for around $8/month. To do this you’ll:
- head to https://www.scaleway.com/
- sign up for a C1 instance (their lowest option)
- add on 3 50GB storage volumes to make sure you have enough storage for the whole Bitcoin blockchain.
There are plenty of other providers out there that can handle the node, so go ahead and do some shopping or use your favorite if you have one. Digital Ocean and Amazon Web Services are popular options but will cost you a bit more.
Note: Pay attention to the bandwidth or data limits on any cloud solution, as many providers out there will rate limit your connection after a certain point.
Start the setup!
If you’re planning to run your node on a computer locally, you can decide whether you’d like to run the Bitcoin Core software as a standard application (the GUI or Graphical User Interface) or through the command line as a background process. If you’re working on the cloud you’re most likely going to use the command line method.
I wanna run the GUI software!
So you like graphical interfaces. Great! Here’s the process:
- Download the latest Bitcoin Core GUI from the bitcoin.org download page for your operating system of choice.
- Run the software and you will be prompted to choose a directory for storing the blockchain data. Unless you have a specific preference here, go ahead and leave the “Use the default data directory” option checked and hit OK.
- At this point on Windows computers, you may have a firewall prompt appear asking for permission to let Bitcoin communicate over the web. Check all boxes and allow these permissions.
- The software should begin downloading the blockchain. This will take anywhere from 12 hours to a couple of days depending on your internet speeds and bandwidth. Let it finish and you’re officially running a Bitcoin full node! See the Network Configuration section below to make sure your node has the access it needs to run properly.
I wanna use the command line!
So you dig the command line, or you’d rather have Bitcoin Core run in the background? Sweet! Here we go:
- To simplify this process, earn.com (formerly 21.co) has put together a simple-to-use script that makes it a breeze to install a node via the command line!
- Open up the Command Prompt (Windows) or the Terminal (macOS and Linux) and paste this command:
- Hit enter and you should see a welcome message pop up (like this one):
- Let the process run its course! It will download the Bitcoin Core software and attempt to set up port forwarding. If it can’t set up port forwarding automatically you’ll see a message appear like this one:
- You should also receive a success message! Your node is installed and running. Head down the Network Configuration section below to make sure everything is setup correctly for proper functioning.
Whether you’ve set up a node using the standard GUI software or through the command line, there will be some network setup required to make sure the node can send and receive connections from the Bitcoin network.
There are two jobs to complete here:
- Giving your computer a Static IP Address
- Setting up Port Forwarding
Instead of walking through this whole process, I’ll let the wonderful folks over at bitcoin.org take care of it! See the official guide for step-by-step instructions on accessing your router and setting it up to handle the node correctly.
If you’ve set up your node in the cloud, this process can be very different based on the service provider. Reach out to the support team for your specific provider or head over to SuperUser (a question and answer site for this sort of thing) to get help!
So… what about the Node-in-a-Box?
This is by far the easiest way to set up a full node right now. A simple plug-and-play box that you’d plug into your internet router just like a cable box. This lets you run a dedicated node without installing anything on your computer or another machine. You WILL still need to complete the network configuration steps outlined in the section above though!
The only project seemingly available right now is Bitseed. The Bitseed is currently pretty pricey at around $360, but from reviews, it seems to work as advertised and keeps things very simple. There are bound to be competitors coming out of the woodwork in no time, so keep an eye out as the space matures.
Once the software is running, the blockchain has completely synced, and your network settings are correct, you’ve done it! You’re officially a contributing member of the Bitcoin network. Welcome to the future of money.
Bitcoin is powered by nodes.
More nodes = stronger Bitcoin.
You should run a node. Maybe two.
This article was originally published at CoinCentral.com