Smartnode-Einrichtung mit Docker (empfohlen)

Docker ist eine offene Plattform, die es Ihnen ermöglicht, Anwendungen, die in Containern auf Betriebssystemebene laufen, schnell und einfach bereitzustellen. Alle Abhängigkeiten und die Anwendung selbst sind bereit, innerhalb des Containers zu laufen. Sie müssen also nur noch Docker und Docker-compose installieren, eine Konfigurationsdatei erstellen und den Container starten.

Das Docker-Image in dieser Anleitung wurde von Raptoreums Hauptentwickler Tri Nguyen erstellt und gepflegt. Tri hat außerdem ein verbessertes Skript erstellt, das überprüft, ob Ihr Smartnodes-Daemon (raptoreumd) funktioniert und läuft. Ist dies nicht der Fall, wird er versuchen, ihn neu zu starten, und bei Bedarf sogar die Blockchain-Daten für Sie neu aufsetzen.

Die einfache Einrichtung und die verbesserte Zustandsprüfung machen dies zur empfohlenen Methode für die Einrichtung und den Betrieb eines Raptoreum Smartnode.

Hinweis: Diese Anleitung geht davon aus, dass Sie Ubuntu 20 / 22 verwenden. Wenn Sie ein anderes Betriebssystem verwenden, müssen Sie die Befehle möglicherweise anpassen.

 

Was Sie brauchen #

  • Ein guter VPS mit mindestens 4 GB Ram, zwei CPU-Kernen und 50 GB Festplattenplatz. Contabo wird nicht empfohlen, da die instabile und langsame Leistung häufig dazu führt, dass Smartnodes gesperrt werden. Auch Hetzner ist nicht zu empfehlen, da sie gegen Blockchain sind und Ihren Dienst sperren könnten, wenn sie feststellen, dass Sie Software im Zusammenhang mit Blockchain einsetzen.
  • Ubuntu 20 / 22 wird als Betriebssystem für Ihren VPS empfohlen.
  • Eine Möglichkeit, sich bei Ihrem VPS mit SSH anzumelden, wie z.B. Putty.
  • 1,8 Millionen RTM als Sicherheiten. Wo Sie RTM kaufen können, erfahren Sie auf der Seite Wie man RTM kauft Seite.
  • Eine lokale, vollständig synchronisierte Raptoreumcore-Wallet.
  • Etwa eine 1/2 Stunde Ihrer Zeit.

 

Hinweis: Wenn Sie Probleme haben und Hilfe benötigen, zögern Sie nicht, in den Raptoreum Discord Server zu gehen und im #smartnode-Kanal um Hilfe zu bitten.

 

VPS-Vorbereitung #

Es gibt ein paar Schritte, die wir unternehmen müssen, um den VPS für den Betrieb eines Smartnode vorzubereiten, Zeit, sich mit SSH anzumelden! Sie sollten als root angemeldet sein. Wenn Ihr Provider Ihnen nur einen sudo-Benutzer zur Verfügung stellt, können Sie zu root wechseln, sobald Sie angemeldet sind, indem Sie dies tun:

sudo su

Nach dem Einloggen folgen Sie diesen Schritten:

Aktualisierung des Betriebssystems #

Führen Sie diesen Befehl aus:

apt update && apt upgrade -y

Installationsanforderungen:

apt install docker docker-compose fail2ban iptables-persistent -y

Fügen Sie SWAP hinzu: (wenn Ihrem VPS der Arbeitsspeicher ausgeht, kann das Betriebssystem SWAP als Ausweichlösung verwenden und verhindern, dass raptoreumd beendet wird).

dd if=/dev/zero of=/swapfile bs=1k count=4096k
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile       swap    swap    auto      0       0" | tee -a /etc/fstab
sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | tee -a /etc/sysctl.conf

Was in diesem Befehlsblock passiert, Zeile für Zeile:

  • 4 GB Auslagerungsspeicher werden mit dd erstellt.
  • Die Berechtigungen sind korrekt eingestellt.
  • Auslagerungsdatei ist eingerichtet.
  • Auslagerungsdatei wird als Auslagerungsdatei aktiviert
  • swap wird zu /etc/fstab hinzugefügt, damit es nach einem Neustart verfügbar ist.
  • Das Betriebssystem wird angewiesen, SWAP nur dann zu verwenden, wenn es notwendig ist (aktuelle Sitzung und Entfernung beim Neustart).
  • Das Betriebssystem wird angewiesen, SWAP nur bei Bedarf zu verwenden (auch nach einem Neustart).

Auf UFW prüfen und IP-Tabellen konfigurieren #

UFW ist ein vereinfachtes IPtables-Verwaltungssystem. Wir müssen sie entfernen, wenn sie aktiv ist, da Docker nicht gut mit ihr zusammenarbeitet. Stattdessen werden wir iptables direkt verwenden. Prüfen Sie, ob UFW installiert ist:

ufw status

Wenn dieser Befehl aktiv oder inaktiv ist, deinstallieren Sie UFW:

apt remove ufw

Konfigurieren Sie die iptables-Regeln:

iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -p tcp --dport 10226 -j ACCEPT
netfilter-persistent save

Die wichtigsten Teile dieser Befehle:

  • Port 22 ist erlaubt und wird für Ihre SSH-Verbindungen benötigt.
  • Port 10226 ist erlaubt und wird für raptoreumd benötigt.
  • iptables-Regeln werden gespeichert und bleiben auch nach einem Neustart erhalten.

Fail2Ban konfigurieren #

Fail2Ban überwacht Login-Versuche und sperrt IPs, die X-mal fehlschlagen. Wir stellen es so ein, dass nach 3 Fehlversuchen gesperrt wird. Dies ist erforderlich, um Bruteforce-Angriffe auf Ihren SSH-Dienst zu verhindern.

nano /etc/fail2ban/jail.local

Kopieren Sie diesen Block und fügen Sie ihn ein:

[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

Docker-Compose einrichten #

Wir müssen ein docker-compose-Verzeichnis und eine Konfigurationsdatei erstellen, in der sowohl die Container- als auch die raptoreum.conf-Konfigurationen festgelegt werden:

cd ~
mkdir docker-rtm
wget https://docs.raptoreum.com/wp-content/uploads/2023/02/docker-compose.yml

Sie werden die Datei docker-compose.yml später in diesem Dokument bearbeiten. Starten Sie Ihren VPS neu:

reboot

 

Einrichten von Sicherheiten und ProTX-Befehl #

 

In diesem Abschnitt wird davon ausgegangen, dass Sie Raptoreumcore bereits installiert und synchronisiert haben, wie es am Anfang dieser Anleitung beschrieben ist.
  • Erstellen Sie eine neue Empfangsadresse – Registerkarte „Empfangen“ > Zahlung anfordern. Es ist ratsam, sie auch zu beschriften, damit Sie wissen, dass es sich um Ihre Node-Sicherungsadresse handelt. Beispiel: smartnode-01.
  • Senden Sie 1,8 Millionen RTM an die Adresse, die Sie gerade erstellt haben, und zwar in einer einzigen Sendung.
  • Gehen Sie auf die Registerkarte Transaktionen, doppelklicken Sie auf die Transaktion und notieren Sie die Transaktions-ID und den Output-Index:

 

Den Befehl protx quick_setup erstellen #

Mit dem Befehl protx quick_setup wird Ihre Node im Netzwerk registriert.

Hier ist ein Beispiel für einen protx quick_setup-Befehl:

protx quick_setup "c4bbcde9771668fa640c263d4b964f688b0f039f7b684e715d92e4012369fea6" "1" "194.113.73.87:10226" "RFbWv94ZfueciwVVpHLMdqFayaXAS4sBxP"

Die Struktur ist von links nach rechts:

  • Transaktions-ID – Ersetzen Sie sie durch Ihre eigene.
  • Collaterial index (Sicherheitenindex) – Bei Bedarf ändern.
  • IP und Port Ihres Smartnode-Servers – Ersetzen Sie die Beispiel-IP durch die IP Ihres Smartnode-Servers, lassen Sie den Port unverändert.
  • Fee adress (Gebührenadresse) – Dies ist eine beliebige Adresse in Ihrer Wallet, die genügend RTM enthält, um die Gebühr zu bezahlen (es kann nicht die Adresse sein, an die Sie die 1,8 Millionen RTM geschickt haben). Wenn Sie den Befehl protx quick_setup eingeben, handelt es sich um eine Transaktion, für die Sie bezahlen müssen. Es ist eine sehr kleine Menge 1/2 RTM ist mehr als genug. Führen Sie in der Debug-Konsole „listaddressbalances“ aus, um alle Adressen mit einem Guthaben anzuzeigen, wählen Sie eine aus und ersetzen Sie die Adresse im Beispielbefehl.

Dieser Befehl wird in Tools > Debug Console eingegeben. Führen Sie den Befehl aus, und wenn er erfolgreich ist, erhalten Sie einen Datenblock zurück. Es gibt zwei Dinge, die Sie hier festhalten müssen:

1.) Das „Operator Secret“.

2.) Der Protx-Transaktionshash.

Vervollständigen Sie die Einrichtung auf Ihrem VPS #

Sie müssen vier Änderungen in der Datei docker-compose.yml vornehmen, sich mit SSH anmelden und dies tun:

cd docker-rtm && nano docker-compose.yml

Bearbeiten Sie die folgenden drei Zeilen:

1.) PROTX_HASH: „protx-Hash hier hinzufügen“

2.) rpcuser=changeme (ändern Sie es)

3.)rpcpassword=changeme (ändern Sie es)

4.) externalip=1.2.3.4 (tragen Sie hier Ihre VPS-IP ein)

Danach speichern und beenden (cntrl + x). Starten Sie nun docker-compose:

docker-compose up -d

Das war’s auch schon, Docker kümmert sich um das Bootstrapping und den Start der Node. Je nachdem, wie aktuell das Bootstrap ist, kann es zwischen 10 Minuten und einer Stunde dauern, bis es synchronisiert ist und zu arbeiten beginnt. Da raptoreumd innerhalb von Docker läuft, kann man mit raptoreum-cli nicht direkt mit ihm „reden“. Stattdessen werden Ihre Befehle wie folgt aussehen:

docker exec -it smart_raptoreum_node raptoreum-cli --conf=/raptoreum/.raptoreumcore/raptoreum.conf getmininginfo

Sobald Ihr Smartnode synchronisiert ist, wird der obige Befehl zurückgegeben:

Ready Ready