Idiot's Guide To Installing + Running a Bitcoin Full Node on Ubuntu/Debian Linux - Server Version
I've seen so many 'easy' Bitcoin Core installation guides for beginners that involve downloading the sources from GitHub, downloading all of the dependencies, compiling...
It's WAY easier than that!
(This is the tutorial for running Bitcoin Core on a headless server. If you are running Linux with a desktop environment, and would like to interact with a GUI interface for Bitcoin, see here.)
Bitcoin Core has a ppa repository for Debian Linux. Installing from the repository has the added benefit that your Bitcoin Core software will be automatically updated every time you update your system.
If you are running any flavor of Ubuntu or Debian Server, here are the steps:
Let's start by making sure everything's up to date already. In fact, when you're using a stable Linux distro like Ubuntu, just make it a habit to do this every time you're in the terminal:
$ sudo apt-get update && sudo apt-get upgrade -y
Now, add the bitcoin repository:
$ sudo add-apt-repository ppa:bitcoin/bitcoin
Every time you add a new repository to apt, you'll want to update your package list again. While we're at it, we're going to install the bitcoind package:
$ sudo apt-get update && sudo apt-get install bitcoind -y
If you're not aware, that '-y' flag at the end is just preemptively answering the 'do you want to install this?' prompt with a 'y'. It's a little time saver that lets you walk away to top off your coffee cup. ; )
Cool. So, now we have Bitcoin installed. If you want to run it with all of the defaults, you can either enter:
$ bitcoind -daemon
Note that at the time of this writing, the full blockchain is around ~230 GB.
Depending on your hardware specs, this initial download and sync of the blockchain will take anywhere from a few hours to a few days. The two factors which make the most difference are your internet connection speed and your hard drive read/write speed. If your internet connection accommodates more than a few MB/s download, then your hard drive will definitely be the bottleneck here. If you can fit the blockchain on an SSD drive, it will take a lot less time than if you are writing it to an HDD drive.
To interact with the daemon, you'll simply enter:
$ bitcoin-cli [command]
Enter:
$ bitcoin-cli -help
to see a list of some of the commands.
(In a later post, I'll get into advanced configuration options.)
But there you have it. Installing Bitcoin Core on Linux is as easy as that.
Congratulations on taking control of your financial freedom!
In my next posts, we'll cover some basic tasks and principles such as: best security practices, sending/receiving transactions, generating additional key pairs and addresses, etc.
After that we'll go over some optimizations that can be made for some common use cases. For instance: while it's better for the ecosystem for you to maintain a full copy of the blockchain, the fact is that you can run a Core node even if you have only 1 GB of drive space to store the blockchain on. We'll discuss how and why you might do that, and what the advantages/disadvantages are.