Bitcoin Node auf Linux X86 installieren

1. Vorbereitung des Betriebssystems

Wir gehen von einer fertigen Linux Installation aus. Wichtig ist, dass der Benutzer sudo Rechte hat. Diese können wie folgt vergeben werden.

Einloggen auf dem Linux Server

ssh benutzername@ipadresse

(ipadresse mit echter IP-Adresse ersetzen)

sudo usermod -aG sudo $USER

Installation der benutzten Pakete

sudo apt install wget tor gnupg 

(sudo dnf install wget tor gnupg - für Fedora, sudo pacman -S wget tor gnupg - für Arch, Manjaro etc)

Download Verzeichnis im Benutzerverzeichnis erstellen

mkdir Downloads

Danach wechseln wir in den Ordner mit

cd Downloads

2. Download und Verifzierung von Bitcoin Core und Download anderer Dateien

Herunterladen von Bitcoin Core

Webseite Bitcoin Core :: Download - Bitcoin aufsuchen und auf mit der rechten Maustaste auf Linux (tgz) klicken und dann Link kopieren.

Im Linux Terminal den Befehl wget eingeben und den Link anfügen. Entweder mit rechte Maustaste und „Einfügen“ oder STRG + SHIFT +V drücken.

wget https://bitcoincore.org/bin/bitcoin-core-25.0/bitcoin-25.0-x86_64-linux-gnu.tar.gz
wget https://bitcoincore.org/bin/bitcoin-core-25.0/SHA256SUMS
wget https://bitcoincore.org/bin/bitcoin-core-25.0/SHA256SUMS.asc

Download anderer Dateien

Wir gehen auf die Webseite GitHub - bitcoin/bitcoin: Bitcoin Core integration/staging tree und klicken auf „Go to file“

in der Suche geben wir rpcauth.py ein, klicken auf Raw, kopieren uns die URL und laden das Script herunter.

wget https://raw.githubusercontent.com/bitcoin/bitcoin/master/share/rpcauth/rpcauth.py

Danach laden wir uns die Systemservice-Datei herunter. Wir klicken im Browser auf Retour und Retour bis wir wieder auf der Hauptseite landen, wo wir wieder auf „Go to File“ klicken und „bitcoind.service“ eingeben. Wir klicken wieder auf Raw, kopieren uns die URL und laden die Datei herunter.

wget https://raw.githubusercontent.com/bitcoin/bitcoin/master/contrib/init/bitcoind.service

Überprüfung der heruntergeladenen Bitcoin Core Version

Mit folgenden Befehl überprüfen wir die Checksumme der heruntergeladenen Bitcoin Core Datei

sha256sum --ignore-missing --check SHA256SUMS

Es muss ein OK auftauchen, falls das nicht passiert, sofort löschen.

In diesem Schritt importieren wir die GPG-Keys der Bitcoin Core Developer.

curl -L https://api.github.com/repos/bitcoin-core/guix.sigs/tarball --output bitcoin-builders.tgz && tar --strip-components=1 -xzvf bitcoin-builders.tgz --wildcards --no-anchored "bitcoin-core-guix.sigs-*/builder-keys" && gpg --import builder-keys/* && rm bitcoin-builders.tgz && rm -r builder-keys

Danach checken wir die Signatur mittels

gpg --verify SHA256SUMS.asc

Hier muss ein „Good signature“ bei Michael Ford stehen. Nicht wundern, bei den anderen sieht es nicht so aus, da wir diese Keys auch nicht importiert haben.

3. Bitcoind installieren

Entpacken des Bitcoin-Pakets

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

Installieren von Bitcoind

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

Teststart von Bitcoind

bitcoind -daemon

In das Verzeichnis /home/benutzername/.bitcoin wechseln

Check des Logfiles ob es Fehler gibt

tail -f debug.log

Wenn alles passt, dann weiter mit Schritt 4

4. Bitcoin Config erstellen und einrichten als System-Service

Wir erstellen eine Datei namens bitcoin.conf und bearbeiten diese

nano bitcoin.conf

Wir fügen folgenes ein mit rechts Maustaste kopieren und linke Taste einfügen im Linux Fenster, oder mit STRG +v

# Options
testnet=0
server=1
daemon=1
txindex=1
#datadir=
# Connection Settings
# Output from rpcauth.py 

rpcport=28256
rpcbind=0.0.0.0
rpcallowip=127.0.0.1
rpcallowip=10.0.0.0/8
rpcallowip=172.0.0.0/8
rpcallowip=192.0.0.0/8
zmqpubrawblock=tcp://0.0.0.0:28332
zmqpubrawtx=tcp://0.0.0.0:9501
zmqpubhashblock=tcp://0.0.0.0:9502
whitelist=127.0.0.1
#addnode=

# Tor Settings
#onlynet=onion
#proxy=127.0.0.1:9050
#listen=1
#bind=127.0.0.1
#addnode=

Um die Einstellungen zu speichern, drücken wir STRG +x, y und dann Enter. Check ob die Datei vorhanden ist

ls -la

Es sollte eine Datei namens bitcoin.conf jetzt vorhanden sein.

Wir erstellen jetzt einen RPCUser mit Passwort


Wir müssen rpcauth.py ausführbar machen.

cd ~/Downloads

RPCUser und Passwort erstellen

./rpcauth.py benutzername passwort

Die Zeile rpcauth=xxxx wird kopiert - rechte Maustaste und kopieren - und in bitcoin.conf einfügen

nano ~/.bitcoin/bitcoin.conf

Unter # Output from rpcauth.py fügen wir die kopierte Zeile ein

Danach

STRG +x, y und Enter.

Wir stoppen den Bitcoin Node

bitcoin-cli stop

Einrichtung des Systemservices

Wir wechseln in das Verzeichnis Downloads mit

cd ..

und

cd Downloads
nano bitcoind.service

Den Eintrag ExecStart= ändern wir ab.

ExecStart=/usr/bin/bitcoind -pid=/run/bitcoind/bitcoind.pid \
                            -conf=/etc/bitcoin/bitcoin.conf \
                            -datadir=/var/lib/bitcoind \
                            -startupnotify='systemd-notify --ready' \
                            -shutdownnotify='systemd-notify --stopping'

ändern in

ExecStart=/usr/local/bin/bitcoind -daemon \
                      -pid=/run/bitcoind/bitcoind.pid \
                      -conf=/home/benutzername/.bitcoin/bitcoin.conf \
                      -datadir=/home/benutzername/.bitcoin

Anpassen der Verzeichnisse

                            -conf=/etc/bitcoin/bitcoin.conf \
                            -datadir=/var/lib/bitcoind

auf

                            -conf=/home/benutzername/.bitcoin/bitcoin.conf \
                            -datadir=/home/benutzername/.bitcoin

Vor

ExecStartPre=/bin/chgrp bitcoin /etc/bitcoin

setzen wir ein #

# ExecStartPre=/bin/chgrp bitcoin /etc/bitcoin

Unter Run as passen wir den Benutzernamen an

Run as bitcoin:bitcoin

User=bitcoin
Group=bitcoin

ändern auf

User=benutzername
Group=benutzername

Unter Deny access to home setzen wir ein #

# Deny access to /home, /root and /run/user
ProtectHome=true
# Deny access to /home, /root and /run/user
#ProtectHome=true

Fertig. Mit STRG +x, y und Enter speichern wir alles ab.

Einbinden des Systemservices

sudo cp bitcoind.service /etc/systemd/system

Aktivieren

sudo systemctl enable bitcoind

Starten

sudo systemctl start bitcoind

Check ob alles läuft

tail -f ~/.bitcoin/debug.log

Wenn alles passt, sind wir soweit fertig. Wenn man den Bitcoin Node über Tor anbinden möchte, dann mit den Schritten weitermachen.

5. An Tor anbinden

Wir fügen unseren Benutzer der Gruppe Tor hinzu

sudo usermod -aG debian-tor $USER

Danach bearbeiten wir die Datei torrc

sudo nano /etc/tor/torrc

Ganz am Ende fügen wir ein:

ControlPort 9051
CookieAuthentication 1
CookieAuthFileGroupReadable 1

Mit STRG +x, y und Enter speichern wir alles ab.

Jetzt müssen wir Bitcoind noch mitteilen, dass es ab jetzt nur noch über Tor geht. Dazu bearbeiten wir unsere bitcoin.conf

nano ~/.bitcoin/bitcoin.conf

Unter Tor aktivieren wir die Config, indem wir # davor entfernen. Es muss dann so aussehen:

onlynet=onion
proxy=127.0.0.1:9050
listen=1
bind=127.0.0.1

Mit STRG +x, y und Enter speichern wir alles ab.

Restart von Bitcoind

sudo systemctl restart bitcoind

Check des Logfiles:

tail -f ~/.bitcoin/debug.log 

Es kann dauern, bis sich über Tor Peers mit unserem Node verbinden.

Fertig!

6. Bisq

Damit wir Bisq mit unserem Bitcoin Core nutzen können, müssen wir in der bitcoin.conf noch zwei zusätzliche Parameter eintragen. Dazu öffnen wir unsere bitcoin.conf

nano ~/.bitcoin/bitcoin.conf

In der Config tragen wir ein:

pruned=0
peerbloomfilters=1

Mit STRG +x +y Enter speichern wir alles ab, danach restarten wir unseren Bitcoin Core Node.

sudo systemctl restart bitcoind

7. Update

Wir welchseln in unser Download-Verzeichnis

cd ~/Downloads

Jetzt besuchen wir die Website bitcoincore.org und laden uns die aktuelle Bitcoin Core Version herunter.

wget https://bitcoincore.org/bin/bitcoin-core-aktuelle-version/bitcoin-aktuelle-version-x86_64-linux-gnu.tar.gz

Wie bei der Erstinstallation importieren wir die GPG-Keys der Bitcoin Core Developer, die wir hier herunterladen.

curl -L https://api.github.com/repos/bitcoin-core/guix.sigs/tarball --output bitcoin-builders.tgz && tar --strip-components=1 -xzvf bitcoin-builders.tgz --wildcards --no-anchored "bitcoin-core-guix.sigs-*/builder-keys" && gpg --import builder-keys/* && rm bitcoin-builders.tgz && rm -r builder-keys

Wir überpüfen die Signatur auf ein „Good signature“ von Michael Ford.

gpg --verify SHA256SUMS.asc

Falls diese passt, machen wir weiter.


Entpacken der aktuellen Bitcoin Core Version

tar xzf bitcoin-aktuelle-version-x86_64-linux-gnu.tar.gz

Installieren von Bitcoind

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

Restart von Bitcoind

sudo systemctl restart bitcoind

Check ob alles läuft

tail -f ~/.bitcoin/debug.log

8. Tipps

Abfragen

Check, wie viele Peers mit uns verbunden sind

bitcoin-cli getconnectioncount

Check der Blockchain-Infos

bitcoin-cli getblockchaininfo

In der Hilfe findet man noch viele andere hilfreiche bitcoin-cli Abfragen

bitcoin-cli help
1 „Gefällt mir“

Da fehlt der Befehl „sudo usermod -aG debian-tor $USER“ im Freifeld.

Ansonsten TOP Guide. Habe es selbst mal genau so umgesetzt - ohne Probleme!

1 „Gefällt mir“

Thx für den Hinweis, muss ich abändern