Idiot's Guide To Installing + Running a Bitcoin Full Node on Ubuntu/Debian Linux - Graphical Desktop 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 easter than that!
(This is the graphical desktop version. If you're looking to run Bitcoin Core on a headless server, or have a desktop distro but only want to interact with the Bitcoin daemon via terminal, 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, and want to run a full node with the desktop GUI, here are the steps:
Open a new terminal.
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 bitcoin-qt package, which gives us the daemon, bitcoind, as well as the QT-based graphical interface, bitcoin-qt:
$ sudo apt-get update && sudo apt-get install bitcoin-qt -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:
$ bitcoin-qt
into your terminal, or you can find the shortcut in your OS's application menu.
The first time you launch bitcoin-qt, you'll be asked where you want it to put the blockchain. At the time of this writing, the full blockchain is around ~230 GB.
It will also mention that:
"This initial syncronisation is very demanding, and may expose hardware problems with your computer that had previously gone unnoticed. Each time you run Bitcoin Core, it will continue downloading where it left off."
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.
Also worth noting, is that the bitcoin-qt version installs on Linux with the 'Start Bitcoin Core on system login' option already enabled, but only after the first time you've launched it manually and told it where to put the data directory.
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 doing the same setup on an Ubuntu Server distro.
Then, 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.
(I'll add links here to this post when I publish the others.)