Prepare the system

Update the system and install dependencies before compiling Bitcoin Core.

Update the system

sudo apt update && sudo apt upgrade -y

Disable SSH Password Login

In the SSH configuration, make sure password login is disabled (PasswordAuthentication no)

sudo cat /etc/ssh/sshd_config | grep PasswordAuthentication

Setup a firewall

We need to setup a firewall to restrict inbound traffic for our node.

First we install it:

sudo apt install ufw

By default ufw denies all incoming traffic so we must allow inbound SSH traffic before we enable it:

sudo ufw allow 22/tcp

Now we can enable the firewall:

sudo ufw enable

We can check the status with those commands:

sudo ufw status
sudo ufw status verbose

Install Tor

Install Tor:

sudo apt install tor

Add your user:

sudo usermod -a -G debian-tor your-user

You must log out and log back in for the changes to take effect.

Finally we can enable Tor at boot and start it:

sudo systemctl enable tor
sudo systemctl start tor

Install Bitcoin Core dependencies

The following packages will be needed to install Bitcoin Core:

sudo apt install git automake autoconf autotools-dev build-essential cmake make pkg-config protobuf-compiler libminiupnpc-dev libprotobuf-dev libdb++-dev libzmq3-dev libsqlite3-dev libboost-thread-dev libboost-test-dev libboost-all-dev libevent-dev libtool libssl-dev libboost-system-dev libboost-filesystem-dev

Install Node.js

This is only required if you plan to install BTC RPC Explorer (not covered in this tutorial yet).

The steps to install Node.js 23 are detailed here.

Install curl:

sudo apt install curl

Download the setup script:

curl -fsSL https://deb.nodesource.com/setup_23.x -o nodesource_setup.sh

Run it:

sudo -E bash nodesource_setup.sh

Install node:

sudo apt install nodejs

Verify the installation:

node -v

And also update npm to the latest version:

sudo npm install -g npm@latest

Install Rust and Cargo

This will be needed by the Electrum server if you plan on installing it.

Install dependencies:

sudo apt install -y clang cmake

Install Rust and Cargo:

curl https://sh.rustup.rs -sSf | sh

Last updated

Was this helpful?