How to Install Bitcoin Core – Beginners Guide
Bitcoin is a form of decentralized cryptocurrency that was created in 2009. Because it is decentralized, it doesn’t use a bank or a single administrator. Each transaction occurs without a middleman being involved. bitcoin can be used with a number of organizations (such as booking hotels and purchasing goods and services).
However, the use of bitcoin does require a network to work upon. Within that network are full nodes, which validate transactions (a transfer of value) and blocks (files that contain data pertaining to bitcoin)
There are a number of ways you and your business can get into bitcoin. Your best bet is to work with a blockchain consulting firm, such as BairesDev. But for those who want to test the waters on their own, it’s possible to run a full node on your own hardware.
This does, however, come with a warning. Running a full node comes with certain “costs” and risks. The “costs” can be as simple as an exponentially higher amount of network traffic. If you’re running this on your business network, you could see a slowdown or bottleneck in your regular network traffic.
But more important are the risks involved. With bitcoin comes Cryptocurrency mining, which is when a third party hacks into your system to use it for bitcoin mining. Those third party actors might detect you’re running a full node and attempt to hack it. That is one of the main reasons why working with a reputable blockchain consulting company might be in your best interests.
However, for those who’d like to try installing their own bitcoin node, I’m going to walk you through the process.
What you’ll need
The requirements for installing and running a bitcoin node are pretty steep. You’ll need the following:
- A desktop or laptop machine running an updated version of Windows, macOS, or Linux (I’ll be demonstrating on Ubuntu Server 18.04).
- 200 GB of free drive space with a minimum read/write speed of 100 MB/s.
- 2 GB of RAM.
- A broadband network connection with a minimum upload speed of 50 kilobytes per second.
- Unlimited, unmetered network connection (full nodes are capable of exceeding up to 200 GB upload and 20 GB download per month).
- The ability to keep your node running at least 6 hours a day.
Issues you might encounter
While attempting to run a bitcoin node, you might encounter a few problems. These problems include:
- bitcoin is not legal in some areas. To find out if your area falls under these restrictions, check out this Library Of Congress page.
- Some network providers will shut down your connection when they realize you’re using it for bitcoin.
- Some antivirus programs will see the bitcoin blockchain as a virus. Typically, this will only happen with Windows.
- As mentioned earlier, hackers might target your network.
If you can’t meet these requirements and these warnings are of great concern, stop reading here. If you can, however, meet these requirements, and you can get around the warnings, keep reading.
Installing Bitcoin Core
Head over to the Bitcoin Core download page and download the Linux .tgz file. If you’re working on a GUI-less server, you can download that file with the command:
Once the file has downloaded, extract it with the command:
tar xzf bitcoin-0.20.0-x86_64-linux-gnu.tar.gz
When the command completes, you’ll find a newly-created bitcoin-0.20.0 directory. Change into that directory with the command:
Next, change into the bin directory with the command:
We’ll now use the install command to install the necessary components into the /usr/local/bin directory like so:
sudo install -m 0755 -o root -g root -t /usr/local/bin *
The above command will move the following files (while giving them the proper permissions) into /usr/local/bin:
Because we installed this on a GUI-less server, we’ll be using the bitcoin Core Daemon. To start the daemon, issue the command:
This will inform you that the bitcoin daemon is starting. Once the daemon starts, it will begin to download the blockchain, which will take several days to complete. During this process, it will consume a large amount of your bandwidth. If you find the download is causing issues with other devices on your network, you can always stop it with the command:
You can start the daemon later (when it’s more feasible to download the blockchain) with the command:
Finally, if you have a firewall running, you’ll need to allow specific incoming traffic (for bitcoin and ssh). On Ubuntu Server this can be achieved with the following commands:
ufw allow ssh
ufw allow 8333
ufw default deny incoming
ufw default allow outgoing
Starting the daemon automatically
The one caveat to using bitcoin Core in this way is that you must manually start the daemon manually every time your server reboots. To avoid that, you can create a crontab job to start the daemon upon a reboot.
To do this, issue the command:
At the bottom of your crontab file, add the following:
@reboot bitcoind -daemon
Save and close the file.
At this point, the Blockchain Core is installed and running on your computer. Once the blockchain has completely downloaded, you can start working with the command line interface. There are a large number of commands to use. For a complete listing of each, check out this Bitcoin Developer page.
Conclusion “How to install Bitcoin Core”
Running a full bitcoin node is certainly a challenge. If this is something you’re interested in, and the command line is a bit much for you, you can also go the GUI route or reach out to one of the many blockchain consulting services and have them get you up to speed (or even manage the service for you).