Mar 21, 2022 6 min read

How to deploy Bitcoin Core Full-node

How to deploy Bitcoin Core Full-node
Bitcoin Core Full-node

The Bitcoin blockchain is designed as a decentralised P2P network where nobody owns or controls Bitcoin and everyone can take part.

"A full node is a program that fully validates transactions and blocks. Almost all full nodes also help the network by accepting transactions and blocks from other full nodes, validating those transactions and blocks, and then relaying them to further full nodes." - Bitcoin.org

Following set of instructions are taken from Bitcoin.org


Feel free to jump to the section of your choice from below links.


Bitcoin Minimum Node Requirement

Bitcoin Core full nodes have certain requirements. If you try running a node on weak hardware, it may work — but you’ll likely spend more time dealing with issues. If you can meet the following requirements, you’ll have an easy-to-use node.

  • Desktop or laptop hardware running recent versions of Windows, Mac OS X, or Linux.
  • 150GB of free disk space (size of the blockchain plus room to grow)
  • 2GB of memory (RAM)
  • A broadband Internet connection with upload speeds of at least 50 Kb per second
  • An unmetered connection, a connection with high upload limits, or a connection you regularly monitor to ensure it doesn’t exceed its upload limits. It’s common for full nodes on high-speed connections to use 200GB in uploads or more a month. Download usage is around 20GB/month, plus around an additional 100GB the first time you start your node.

Bitcoin Full-node on Linux Installation

The following instructions describe installing Bitcoin Core using tools available in most mainstream Linux distributions. We assume you use a Bourne-like shell such as bash.

Using any computer, go to the Bitcoin Core download page and verify you have made a secure connection to the server.

In the “Linux (tgz)” section of the Download page, choose the appropriate file for your Linux install (either 32-bit or 64-bit) and download the file. If necessary, move the file to the computer you want to use to run Bitcoin Core.

Optional: Verify the release signatures

If you know how to use PGP, you should also click the Verify Release Signatures link on the download page to download a signed list of SHA256 file hashes. The 0.11 and later releases are signed by Wladimir J. van der Laan’s releases key with the fingerprint:

01EA 5486 DE18 A882 D4C2  6845 90C8 019E 36C2 E964

Earlier releases were signed by Wladimir J. van der Laan’s regular key. That key’s fingerprint is:

71A3 B167 3540 5025 D447  E8F2 7481 0B01 2346 C9A6

Even earlier releases were signed by Gavin Andresen’s key. His primary key’s fingerprint is:

2664 6D99 CBAE C9B8 1982  EF60 29D9 EE6B 1FC7 30C1

You should verify these keys belong to their owners using the web of trust or other trustworthy means. Then use PGP to verify the signature on the release signatures file. Finally, use PGP or another utility to compute the SHA256 hash of the archive you downloaded, and ensure the computed hash matches the hash listed in the verified release signatures file.

If you aren’t already logged into the computer you want to install Bitcoin on, login now. Make sure you use an account that can use su or sudo to install software into directories owned by the root user.

If you logged in graphically, start a terminal. If you logged in another way, we will assume you’re already in a shell.

Locate the file you downloaded and extract it using the tar command followed by the argument xzf followed by the file name. The argument xzf means eXtract the gZipped tar archive File. For example, for a 64-bit tar archive in your current directory, the command is:

tar xzf bitcoin-22.0-x86_64-linux-gnu.tar.gz

This will create the directory bitcoin-22.0 within your current working directory. We will install the contents of its bin subdirectory into the /usr/local/bin directory using the the install command. The install command is part of the GNU coreutils available on nearly every Linux distribution, and the /usr/local/bin directory is a standard location for self-installed executables (you may edit the commands below to use a different location).

If you use sudo to run commands as root, use the following command line:

sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-22.0/bin/*

If you use su to run commands as root, use the following command line:

su -c 'install -m 0755 -o root -g root -t /usr/local/bin bitcoin-22.0/bin/*'

To continue, choose one of the following options

  1. To use Bitcoin Core Graphical User Interface (GUI), proceed to the Bitcoin Core GUI section below.
  2. To use the Bitcoin Core daemon (bitcoind), which is useful for programmers and advanced users, proceed to the Bitcoin Core Daemon section below.
  3. To use both the GUI and the daemon, read both the GUI instructions and the daemon instructions. Note that you can’t run both the GUI and the daemon at the same time using the same configuration directory.

Bitcoin Core GUI

In order to use Bitcoin Core GUI, you will need several libraries installed. All of them should be available in all major recently-released Linux distributions, but they may not be installed on your computer yet. To determine whether you’re missing any libraries, open a terminal (if you haven’t already) and run the command /usr/local/bin/bitcoin-qt to start Bitcoin Core GUI.

If all the required libraries are installed, Bitcoin Core will start. If a required library is missing, an error message similar to the following message will be displayed:

/usr/local/bin/bitcoin-qt: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory

Search your distribution’s package database for the missing file missing and install package containing that file. Then re-run /usr/local/bin/bitcoin-qt to see if it’s missing another file. Repeat until Bitcoin Core GUI starts.

You will be prompted to choose a directory to store the Bitcoin block chain and your wallet. Unless you have a separate partition or drive you want to use, click Ok to use the default.

Bitcoin Core GUI will begin to download the block chain. This step will take at least several days, and it may take much more time on a slow Internet connection or with a slow computer. During the download, Bitcoin Core will use a significant part of your connection bandwidth. You can stop Bitcoin Core at any time by closing it; it will resume from the point where it stopped the next time you start it.

After download is complete, you may use Bitcoin Core as your wallet or you can just let it run to help support the Bitcoin network.


Bitcoin Core Daemon

If you’re logged in as an administrative user with sudo access, you may log out. The steps in this section should be performed as the user you want to run Bitcoin Core. (This can be a locked account used only by Bitcoin Core.)

Type the following command:

bitcoind -daemon

It will print a message that Bitcoin Core is starting. To interact with Bitcoin Core daemon, you will use the command bitcoin-cli (Bitcoin command line interface).

Note: it may take up to several minutes for Bitcoin Core to start, during which it will display the following message whenever you use bitcoin-cli:

error: {"code":-28,"message":"Verifying blocks..."}

After it starts, you may find the following commands useful for basic interaction with your node: getblockchaininfo, getnetworkinfo, getnettotals, getwalletinfo, stop, and help.

For example, to safely stop your node, run the following command:

bitcoin-cli stop

A complete list of commands is available in the Bitcoin.org developer reference.

When Bitcoin Core daemon first starts, it will begin to download the block chain. This step will take at least several days, and it may take much more time on a slow Internet connection or with a slow computer. During the download, Bitcoin Core will use a significant part of your connection bandwidth. You can stop Bitcoin Core at any time using the stop command; it will resume from the point where it stopped the next time you start it.

Start Your Node At Boot

Starting your node automatically each time your computer boots makes it easy for you to contribute to the network. The easiest way to do this is to start Bitcoin Core daemon from your crontab. To edit your crontab on most distributions, run the following command:

crontab -e

Scroll to the bottom of the file displayed and add the following line:

@reboot bitcoind -daemon

Save the file and exit; the updated crontab file will be installed for you. On most distributions, this will cause Bitcoin Core daemon to be automatically started each time you reboot your computer.

bitcoin-dot-org
bitcoin-dot-org has 4 repositories available. Follow their code on GitHub.

Alan Sunny
I have been actively involved in blockchain technology and cryptocurrency since 2017. As a keen Crypto enthusiast, keen to write technical blockchain contents and review staking validators.
Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to BlockMeadow.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.