Links to other tutorials from the series:[BitcoinTalk Node Tutorial #1] Running Bitcoin Core on Raspbian Lite (GUI-less) https://bitcointalksearch.org/topic/bitcointalk-node-tutorial-1-running-bitcoin-core-on-raspbian-lite-gui-less-5476754[BitcoinTalk Node Tutorial #2] Installing Electrs from source https://bitcointalksearch.org/topic/bitcointalk-node-tutorial-2-installing-electrs-from-source-5477339[BitcoinTalk Node Tutorial #3] Sparrow terminal / infinite Whirlpool mixes https://bitcointalksearch.org/topic/bitcointalk-node-tutorial-3-sparrow-terminal-infinite-whirlpool-mixes-5470024[BitcoinTalk Node Tutorial #4] Connecting BISQ to our node https://bitcointalksearch.org/topic/bitcointalk-node-tutorial-4-connecting-bisq-to-our-node-5478756Size required on disk:$ sudo du -sh /media/apogio/BTC/monero
174G /media/apogio/BTC/monero
Hosting a Monero node on the same machineAs I have mentioned in various places in this forum, I am a huge fun of Monero. So, without further delay, let's run a monero node on our Raspberry Pi.
Configuring Firewall to allow incoming connections on ports 18080 & 18089I am using
ufw for this tutorial. So the command should be:
sudo ufw allow 18080
sudo ufw allow 18089
Downloading & Installing Monero binariesWe will download the binaries in our Downloads folder and we will install them.
mkdir ~/Downloads/monero
wget https://downloads.getmonero.org/cli/linuxarm8
tar -xvf linuxarm8 -C monero
cd ~/Downloads/monero/monero-aarch64-linux-gnu-v0.18.3.1
sudo install -m 0755 -o root -g root -t /usr/local/bin monero*
Now, all the binaries are install in our
/usr/local/bin directory.
Let's check if they work using the command
monerod --help
It should print an output that displays the available options for monerod binary.
Configuring Monero nodeWe are almost ready to roll, but we need to create the configuration file for our node. We will create it in our external SSD, in the path
/media/apogio/BTC/monero.
nano /media/apogio/BTC/monero/monerod.conf
Now let's paste the following data inside the file:
# Data directory (blockchain db and indices)
data-dir=/media/apogio/BTC/monero
# Logs
log-file=/media/apogio/BTC/monero/monerod.log
max-log-file-size=0
# P2P configuration
p2p-bind-ip=0.0.0.0 # Bind to all interfaces (the default)
p2p-bind-port=18080 # Bind to default port
public-node=true
# RPC configuration
rpc-restricted-bind-ip=0.0.0.0 # Bind restricted RPC to all interfaces
rpc-restricted-bind-port=18089 # Bind restricted RPC on custom port to differentiate from default unrestricted RPC (18081)
# Node settings
no-igd=1 # Disable UPnP port mapping
no-zmq=1
# Block known-malicious nodes from a DNSBL
enable-dns-blocklist=1
# Peers
out-peers=64
in-peers=1024
The last 2 lines will be removed after the initial blockchain synchronization.
Let's start our node by running the following:
monerod --config-file=/media/apogio/BTC/monero/monerod.conf --detach
Now monero runs on the background, downloading the blockchain. We can easily check the status by running:
monerod status
It will return something like the following example:
Height: 319704/3054494 (10.5%) on mainnet, not mining, net hash 14.05 MH/s, v1, 33(out)+0(in) connections, uptime 0d 0h 26m 3s
That's it, we are now running a monero node.
Connecting Monero GUI wallet to our nodeThe final step is to connect a wallet to our node. Of course we could use the
monero-wallet-cli binary, but for our tutorial we will connect the
Monero GUI wallet to our node.
After downloading the appropriate version for our OS, we will need to choose the "Advanced mode".
Create a new wallet:
Then head over to the node settings and simply add the IP where the node is hosted and the port.