Elrond Testnet Validator Node einrichten

CryptoCrabb
20 min readNov 23, 2020

von @cryptocrabb

Englisch Niederländisch Spanische Italienische Bahasa Indonesisch Französisch Persisch

Es gibt auch ein englisches Video Tutorial das Teile des Setups beschreibt.

Anleitung zum Aufsetzen einer Elrond Testnet Node mit kurzem Überblick, Serversicherung und Monitoring.

  1. Einleitung — was machen wir und warum, was ist eGLD, und was ist das besondere daran?

Heute möchte ich Euch zeigen, wie Ihr in einigen Minuten einen Elrond Gold (eGLD) Testnet Node aufsetzen könnt. Alles was Ihr dazu braucht ist ein Server mit 2vCPU, 4GM RAM und 100mBit/s Netzanbindung.

Kurze Einführung, die meisten heute kennen Bitcoin, viele haben auch schon gehört, dass extrem hoher Stromverbrauch und Transaktionskosten bei Bitcoin der Fall sind (ähnlich hoch wie die Schweiz), und das Netzwerk nur ca. 5 TPS (Transaktionen pro Sekunde) schafft. Aber, da Bitcoin sehr begrenzt ist, es wir nur ca. 21 Millionen davon geben, ist es ein rares Gut. Wenn also 8 Milliarden Menschen Bitcoin wollen, kann man sich vorstellen was mit dem Preis passiert.

Ein weiterer sehr bekannter Coin ist Ethereum, die haben sich besonders durch Ihre Anwendbarkeit einen Namen gemacht. Ethereum bildet ein Netzwerk, auf dem andere Blockchain Projekte aufgesetzt werden können und auch Smart Contracts umgesetzt werden können. Smart Contracts sind sehr interessant für die Ökonomie, da dadurch sehr viele wirtschaftliche Anwendungsfälle im Internet automatisiert angeboten werden können. Ethereum ist zwar etwas günstiger und schneller als Bitcoin, aber mit ca. 15 TPS immer noch viel zu langsam, um all die vielfältigen Anwendungsfälle im modernen Internet abbilden zu können.

Hier kommt Elronds e-Gold [eGLD] ins Spiel, eGLD wurde eigens dafür konzipiert, den Workload des Internets des 21. Jahrhunderts abbilden zu können. Das Netzwerk ist mit 5000 TPS pro „shard“ extrem schnell, und zudem linear skalierbar, da pro shard, die parallel hinzugeschaltet werden können, weitere 5000 TPS erreichbar sind, und das bei sehr geringen Kosten (bzw. Energieverbrauch) und einer Durchlaufzeit von knapp 10 Sekunden. Zudem lassen sich, wie bei ETH andere Projekte und SC’s darauf aufsetzen, bzw. kann jeder Nutzer mithilfe des ESDT Modells individuell eigene „Coins“ mit der Leistungsfähigkeit von eGLD generieren. Um ein solches Netzwerk stabil zu halten braucht man natürlich weltweit Rechner, und genau so einen setzen wir jetzt auf, bzw. die Testversion davon. Jetzt denken manche sicher, Mensch, so ne Mördermaschine hab ich ja nicht, aber auch das ist eine Besonderheit bei Elrond Network. Die Anforderungen an die Server sind trotz der hohen Leistungsfähigkeit wirklich sehr gering, da das System genialerweise superoptimiert auf seine Aufgaben ist. Einen Testnet Server kann man auch für ca. 5 € im Monat mieten.

Also kurzum, wir haben hier eine echte Zukunftstechnologie, deren Adaption nur eine Frage der Zeit sein kann, und es sich meiner Meinung nach jetzt lohnt aufzusatteln J. Es sprechen noch viele weitere Gründe für eGLD, informiert Euch einfach selbst auf https://elrond.com, unzähligen Telegram Channels oder anderen Medien. Aber jetzt genug des Lobes, wir wollen eine Node aufsetzen!

2. Testnet-wallet anlegen

Zunächst einmal brauchen wir eine Elrond Testnet Wallet, die Wallet ist auch schon für das Mainnet live, hier könnt Ihr bereits jetzt eGLD in Sekunden nahezu kostenfrei global versenden oder für bis zu 29 % anlegen, und noch besser, demnächst geht das auch mit der intuitiven Maiar App am SmartPhone. Aber weiter im Text, da wir eine Testnet-Wallet erstellen wollen, klicken wir auf der Seite https://testnet-wallet.elrond.com auf „CREATE WALLET“

Wir bestätigen mit dem Anklicken der beiden Checkboxen, dass wir die folgenden 24 Wörter sicher speichern und drücken „CONTINUE“

Bitte passt jetzt gut auf, diese Wörter sind der Schlüssel für Euer Konto, sichert diese Wörter in genau dieser Reihenfolge gut! Am besten offline, und informiert Euch über „Keyphrase“, „Cold wallet“ bzw. „öffentlicher Schlüssel“ und „privater Schlüssel“! Das sind wichtige Themen, denn solltet Ihr mal Euer Passwort verlieren, könnt Ihr mit den 24 Wörtern das Passwort zurücksetzen, sie sind also der mächtigste Schlüssel zu Eurem Konto! Das hier alles komplett zu behandeln würde leider zu weit führen, nur so viel, sichert diese Keys gut! Aus diesem Grund müsst Ihr hier auch mit der Checkbox erneut bestätigen, dass Ihr die Wörter abgeschrieben, bzw. sicher gespeichert habt.

Nachdem Ihr erneut „CREATE WALLET“ geklickt habt werdet Ihr in der nächsten Maske nach 3 zufälligen Wörtern eures Schlüssels gefragt, das dient zu Eurem Schutz, dass Ihr die Wörter auch wirklich in der Reihenfolge gesichert habt. Erst wenn Ihr die geforderten Wörter eingegeben habt, könnt Ihr mit „Continue“ weiter.

Jetzt könnt Ihr Euer Passwort wählen, auch das ist kein Thema, das man auf die leichte Schulter nehmen sollte, aber hier nur so viel, wählt ein sicheres Passwort aus mindestens 9 Zeichen mit Groß- und Kleinschreibung, Zahlen und Sonderzeichen. Ich bevorzuge einen abgewandelten Kinderreim, mit einer Länge ab 30 Zeichen und gespickt mit Sonderzeichen, aber das ist Stoff für ein weiteres Tutorial.

Wenn wir unser Passwort bestätigt haben erhalten wir nach dem Klicken von „Continue“ die Datei mit dem öffentlichen Schlüssel, das „Keystore file“, benannt nach der Wallet Adresse im json Format. Auch diese Datei bitte sorgsam behandeln, also nicht irgendwo hochladen und möglichst nur auf sicheren Rechnern in sicheren Netzen verwenden. Ich benenne die Datei gerne um in „1“ oder ähnliches, speichere Sie in einer passwortgeschützten .zip Datei auf dem Desktop, da man ja schon öfters Mal auf die Wallet möchte. Andere empfehlen kommerzielle Hardware Wallets wie Ledger oder Trust Wallet, Elrond ist mit einigen kompatibel, ich möchte hier jetzt allerdings keine speziell empfehlen, da ich keine Werbung dafür machen möchte.

Falls Ihr das „Keystore file“ nicht findet, könnt Ihr den jetzt hier auch nochmal runterladen, prüft dann auch bitte gleich, ob Ihr auf Eure wallet kommt, indem Ihr auf „Access Wallet“ klickt. Dann kommt Ihr auf die Zugriffsoberfläche für Wallets, wo Ihr das Keyfile in den rot umrandet Drag & Drop Bereich ziehen könnt oder den Dateibrowser durch Klicken öffnet und die Datei auf Eurem Rechner suchen könnt. Dann noch Euer Passwort eingeben und wenn Ihr erneut auf „Access Wallet“ klickt, seid Ihr schon Ihr in Eurem Testnet Wallet.

Mit dem „Recover Wallet“ Button könnt Ihr Euer Passwort mithilfe der gespeicherten 24 Wörter zurücksetzen. Die beschriebenen Schritte funktionieren sinngemäß im Mainnet, Ihr müsst nur von der Seite https://wallet.elrond.com aus anfangen. Noch ein wichtiger Hinweis, Ihr solltet natürlich keine richtigen eGLD an die Testnet-Wallet senden, nur xEGLD, das sind sozusagen die Testnet-Spiel-eGLD.

Jetzt solltet Ihr die Dashboard-Oberfläche der Wallet sehen, schnuckelig, oder? Damit der Unterschied zu den Mainnet Wallets leichter zu erkennen ist, sind die Testnet Masken in schwarz-weiß gehalten. Ihr seht oben Eure Adresse, euer aktuelles Guthaben, wieviel verfügbar, wieviel Ihr zu aktuell 29 % Zinsen delegiert habt, wieviel Ihr zu aktuell ca. 7 % Zinsen auf der Delegationswarteliste habt und wieviel Ihr als „Validator“ zu aktuell 36 % Zinsen angelegt habt. Auf der linken Seite sind verschiedene Menüpunkte, unter anderen der Link zum Bereich „Validate“. Den brauchen wir später um unseren Node als „Validator“ live zu schalten. In der Mitte seht Ihr die aktuelle Kursentwicklung und ganz unten eine Übersicht der durchgeführten Transaktionen.

3. Server-Miete, am Beispiel Hetzner

Manche haben vielleicht Zuhause einen Server und die nötige Datenrate, für alle die das nicht haben hier eine kurze Einführung zur Servermiete. Es gibt viele Anbieter, ich führe das am Beispiel von Hetzner durch, da ich da gemietet habe und mich daher ein wenig auskenne. Zudem sind die günstigsten Anbieter häufig zum Betrieb des Nodes nicht geeignet, da die verfügbare Leistung häufig schwankt und somit nicht konstant genug ist. Auch wenn Elrond Network keine extrem hohen Anforderungen an die Server stellt, die Stabilität des Netzes ist natürlich sehr wichtig. Wenn Ihr Euch auf der Seite von Hetzner mit sicherem Passwort anmeldet und die 2-Faktor Authentifizierung einrichtet reicht es, wenn Ihr Euch einen Cloud-Server CX21 für aktuell ca. 5,68 € pro Monat mietet. Legt dazu ein neues Projekt an und fügt dort dann einen Server hinzu. Der erfüllt zwar nicht alle Anforderungen, ist aber zunächst ok fürs Testnetz. Wählt unter

1) den Standort der Euch zusagt,

2) als Betriebssystem Ubuntu 18.04, keine neuere Version, 18.04 läuft am besten,

3) Standard, lokal

4) CX21

und lasst den Rest frei. Ev. könnt Ihr unter 8) noch den Namen anpassen. Die Zugangsdaten erhaltet Ihr nach Klicken auf „KOSTENPFLICHTIG BESTELLEN“dann per Mail.

4. Verbinden und „nonrootuser“ einrichten

Wenn Ihr die Login-Daten erhalten habt könnt Ihr zunächst das Projekt und dann den Server anklicken. In der folgenden Ansicht seht Ihr Eure Serverdaten, könnt einen Terminal öffnen oder den Server An- und Ausschalten.

Öffnet den Terminal, gebt

root

ein und bestätigt mit der Enter- oder Return-Taste (In Zukunft auch bitte immer Code-Zeilen mit einer der beiden Tasten abschließen, bzw. bestätigen). Ihr werdet nach dem Passwort aus der Mail gefragt, gebt dieses ebenfalls ein und bestätigt erneut, dann müsst Ihr ein neues Passwort anlegen, bestätigt es, gebt es erneut ein und nach dem zweiten Bestätigen solltet Ihr auf Eurem Server eingeloggt sein.

Aus Sicherheitsgründen sind einige Bereiche des Bildes oben geschwärzt. Anstelle von 1:~# sollte root@servername:~# bei Euch ganz unten stehen. Dieser Standardmäßig vorhandene „root“-Benutzer ist ein großes Linux-eigenes Sicherheitsrisiko, daher legen wir uns gleich einen „nonrootuser“ an und sperren den „root“-Zugang. Den „nonrootuser“ könnt Ihr natürlich nennen wie Ihr wollt, müsst dann aber später immer daran denken, Euren gewählten Namen statt „nonrootuser“ zu verwenden, wenn der „nonrootuser“ hier erwähnt wird. Gebt dazu folgende Zeile ein, oder kopiert Sie von hier und passt sie nach Euren Wünschen an.

useradd -s /bin/bash -d /home/nonrootuser -m -G sudo nonrootuser

Damit habt Ihr den Benutzer „nonrootuser“ angelegt, jetzt legen wir ein Passwort für ihn fest:

passwd nonrootuser

Ihr werdet zweimal aufgefordert das gleiche Passwort einzugeben, man kann es nicht oft genug sagen, bitte nutzt sichere Passwörter! Damit man das Passwort nicht bei jeder Kleinigkeit erneut eingeben muss, editieren wir folgendes:

sudo nano -f /etc/sudoers.d/myOverrides

falls Ihr den Texteditor “nano” nciht installiert habt:

sudo apt install nano

In der Textdatei folgende Zeile ergänzen (eventuell ist die Datei leer, also in die erste Zeile):

nonrootuser ALL=(ALL) NOPASSWD:ALL

und haltet zum Speichern auf der Tastatur die „Strg-Taste“ und drückt „x“, darauf werdet Ihr gefragt, ob Ihr speichern wollt, was Ihr mit „y“ bestätigt (eventuell sind „y“ und „z“ vertauscht). Danach bitte den Dateinamen bestätigen.

Loggt euch jetzt mit

exit 

oder

logout

aus, und versucht, Euch mit dem „nonrootuser“ und Eurem Passwort einzuloggen. Wenn das funktioniert können wir gleich den „root“ User abschalten und haben eine wesentliche Linux-eigene Sicherheitslücke geschlossen.

5. Connect mit MobaXterm, SSH aktivieren, root deaktivieren

Am Sichersten ist die Benutzung eines SSH-clients, auch dazu könnt Ihr viele ausführlichere Tutorials finden, hier nur das Nötigste um unseren Server aufzusetzen. Ich nutze MobaXterm (https://mobaxterm.mobatek.net/download-home-edition.html), da es gerade für Anfänger einiges einfacher macht. Das ist auch ein Grund dafür, weshalb ich an dessen Beispiel alles Weitere erläutere. Nach kostenfreiem Download und Installation seht Ihr diese Oberfläche.

Damit die Dateien richtig abgelegt und wieder gefunden werden legt bitte unter Menüpunkt Settings/Configuration Reiter General Euer „Persistent home directory“ („$HOME“-Verzeichnis) fest und aktiviert unter dem Reiter SSH die Checkbox bei „Use internal SSH agent MobAgent“, falls Ihr nicht bereits einen externen Pageant wie z. B. PuTTy nutzt.

Wundert Euch nicht, dass Ihr noch keinen Schlüssel in dem Feld angezeigt bekommt, das ist optional, Ihr könnt dort einen Schlüssel zu Programmstart laden lassen. Öffnet unter Session/Shell ein Bash Fenster

und erstellt Euch eine SSH-ID. Dazu erstellt zuerst einen Ordner (.ssh) wo eure Schlüssel im „$HOME“-Verzeichnis eures lokalen Rechners (nicht auf dem Server) gespeichert werden mit

mkdir -p $HOME/.ssh

und generiert darin Euer Schlüsselpaar aus öffentlichem und privaten Schlüssel mit

ssh-keygen -t ed25519 -o -a 100 -C “My SSH key”

In den Anführungszeichen steht der Text, den Ihr bei der Abfrage der Passphrase (zusätzliches Passwort) seht, diese Zusatzinfo kann nützlich sein, wenn man mehrere ID‘s verwendet. Ihr werdet nach dem Pfad gefragt, in dem Ihr die Schlüssel anlegen möchtet, wenn Ihr einfach bestätigt wird der Standardordner „.ssh“ und Dateiname „id_ed25519“ gewählt. Danach solltet Ihr zur zusätzlichen Sicherung die Passphrase zweimal eingeben. Wenn alles geklappt hat erhaltet Ihr zur Bestätigung einen fingerprint und ein randomart image, sichert auch diese gut und gebt Sie nicht in falsche Hände.

Bitte prüft für den nächsten Schritt, ob die Dateien auch im richtigen Ordner eures lokalen Rechners (nicht auf dem Server) sind (.ssh). Falls nicht, sucht und verschiebt die beiden Dateien bitte in den .ssh Ordner eures lokalen Rechners (nicht auf dem Server). Dann könnt Ihr Eure generierte ID zu dem ssh-Agenten hinzufügen, dazu zuerst den Agenten auswählen:

eval `ssh-agent -s`

Dann den eben generierten Schlüssel hinzufügen:

ssh-add $HOME/.ssh/id_ed25519

Ihr werdet nach Eurer Passphrase gefragt und wenn Ihr die richtig eingegeben habt erhaltet Ihr die Mitteilung „Identity added:…“. Wenn Ihr möchtet könnt Ihr Eure SSH-ID unter Settings/Configuration im Reiter SSH wie bei mir oben hinzufügen, dann werdet Ihr bei jedem Programmstart nach der Passphrase gefragt.

Die ID ist jetzt in Eurem lokalen MobaXterm Agenten gespeichert. Ihr könnt die ID jetzt auf den Server senden, indem Ihr Eure IP Adresse vom Server hinter dem @ angebt:

ssh-copy-id nonrootuser@your.ip.add.ress

Falls Ihr die IP nicht gleich findet, sie sollte in der MAil mit dem Passwort von Eurem Server Provider stehen oder Ihr findet sie auch auf der Übersichtsseite eures Servers. Danach könnt Ihr Euch mit

ssh ‘nonrootuser@your.ip.add.ress’

vom lokalen Bash-Fenster sicher auf Eurem Server einloggen. Eventuell müsst Ihr hier Euer Passwort für den „nonrootuser“ eingeben.

Jetzt deaktivieren wir noch den „root“ User und ändern den SSH Port, der standardmäßig auf 22 eingestellt ist, und somit auch eine Sicherheitslücke bildet mit:

sudo nano /etc/ssh/sshd_config

hier könnt Ihr die SSH Konfigurationsdatei bearbeiten. Passt dabei gut auf, Ihr könnt Euch selbst aussperren, wenn Ihr in den nächsten Schritten etwas falsch macht. Ihr solltet Euch aber selbst dann immer noch über das Terminalfenster von Eurem Serveranbieter und Eurem „nonrootuser“ einloggen können.

Bitte ändert (passt auf, das “#” am Anfang einer Zeile bedeutet, dass diese Zeile nicht ausgeführt wird):

#Port 22

zu:

Port your-ssh-port

(your-ssh-port könnt Ihr frei zwischen 49152 und 65535 wählen)

also z. B.:

Port 49152 

Ohne #

Außerdem:

PermitRootLogin yes

zu:

PermitRootLogin no

(Verbietet den root User Login, Achtung, hierfür können mehrere Einträge vorhanden sein)
Darunter bitte folgende Zeile eintragen:

AllowUsers nonrootuser

(das erlaubt Eurem erstellten nonrootuser das einloggen)

und folgendes ändern:

#PasswordAuthentication yes

zu:

PasswordAuthentication no

(ohne #)

Eure Einträge sollten so ähnlich aussehen, wobei ich auskommentierte Zeilen (die mit # am Anfang, die vom System nicht beachtet werden) gelöscht habe, um den Screenshot übersichtlicher zu gestalten. Wundert Euch nicht, wenn Ihr ein paar Bildschirme über die Datei scrollen müsst, um alle Einträge zu finden.

Zum Speichern wieder auf der Tastatur die „Strg-Taste“ halten und „x“ drücken. Die Frage, ob Ihr speichern wollt, mit „y“ bestätigt (aus MobaXterm sollten „y“ und „z“ nicht mehr vertauscht sein). Danach bitte den Dateinamen mit der Enter Taste bestätigen.

Jetzt nur noch die Firewall anpassen, zuerst Ausschalten:

sudo ufw reset
(Wenn keine vorhanden: sudo apt install ufw)
sudo nano /etc/default/ufw

Mit dem Texteditor folgende Änderung durchführen:

IPv6=yes

zu:

IPv6=no

da kein IPv6 benötigt wird können wir es auch gleich abschalten. Nach dem Speichern den selbst gewählten Port im Bash Fenster wideder freigeben:

sudo ufw allow your-ssh-port
sudo ufw allow 37373:38383/tcp

(den frei zwischen 49152 und 65535 gewählten)

und die Firewall wieder einschalten:

sudo ufw enable

und dann, ganz wichtig, das SSH resetten:

sudo service ssh restart

Nun solltet Ihr Euch über SSH mit Eurer ID auf dem individuelle Port anmelden können, versucht dies bitte in einer neuen Session von MobaXterm, indem Ihr unter Session/Shell/Bash ein neues Fenster öffnet:

ssh -p your-ssh-port -i $HOME/.ssh/id_ed25519 nonrootuser@your.ip.add.ress

Falls das nicht funktioniert wechselt in die vorherige Session und überprüft die letzten Schritte! Wenn Ihr Euch einloggen könnt habt Ihr alles richtgemacht und könnt das jetzt auch als „User session“ in MobaXterm anlegen. Dazu einfach Session/SSH anwählen, dort dann folgendes eintragen:

  • die IP Eures Servers als „Remote Host“
  • den nonrootuser unter „Specify Username“ (Checkbox aktivieren)
  • und den oben gewählten Port eintragen
  • unter „Advanced SSH settings“ die id_ed25519 im .ssh Verzeichnis verlinken und die Checkbox „Use private key“ aktivieren.

Dann sollte im linken Bereich „User sessions“ ein Eintrag erscheinen, der Euch nach Anklicken mit Eurem Server verbindet.

Prüft dann bitte auch noch nach, ob Ihr Euch noch als root-User von der Server-Anbieter Konsole einloggen könnt. Häufig wird das root-Login mehrfach in verschiedenen Dateien konfiguriert, setzt daher am besten das root Passwort auf „veraltet“, das sollte dann für alle gelten:

sudo passwd -l root

Versucht Euch erneut einzuloggen, um sicher zu gehen, dass der root-User keinen Zugriff mehr hat.

Also loggt Euch zunächst mit

exit

oder

logout

aus, und versucht Euch dann mit Login root und Eurem alten Passwort wieder einzuloggen. Das sollte jetzt nicht mehr funktionieren.

Es gibt noch einige weitere Maßnahmen, wie z. B. 2-Faktor Authentifizierung oder fail2ban um euren Server zu sichern, aber für uns reicht das jetzt hier erstmal. Vielen Dank an Alwin von Viastake, der die Grundlagen für die Anleitung hier mit folgendem Artikel gelegt hat, in dem er euch zeigt, wie Ihr Euren Server weiter sichern könnt:

https://www.viastake.com/2020/05/01/how-to-secure-your-server-like-a-boss/

6. Update und Basic Ubuntu Einstellungen

Nach Einleitung und Sicherung des Servers können wir nun endlich die Installation vorbereiten, für manche kommt das alles vielleicht etwas spät, aber die Sicherheit eines solchen Netzes, und auch des eigenen Servers spielt meines Erachtens eine wesentliche Rolle. Die Updates und Einstellungen sollten daher nicht aufgeschoben werden. Daher sorgen wir jetzt auch zunächst einmal dafür, dass alle nötigen Programme aktualisieren werden. Dazu zuerst das Systemupdate

sudo apt update -y

und dann das Upgrade durchführen

sudo apt upgrade -y

Dann die Einstellung der UTC Zeit vornehmen

sudo dpkg-reconfigure tzdata

Im Menü zunächst „none“, dann „UTC“ auswählen.

Jetzt installieren wir noch ein paar Programme, git um die neue Programmversion zu bekommen

sudo apt install git-allZip und unzip zum packen, das brauchen wir später um die Keys korrekt für die Updates abzulegensudo apt-get install zip unzip

Jetzt noch einmal den Server rebooten:

sudo reboot

und wir können im nächsten Abschnitt endlich unseren Node installieren.

7. Node-Setup mit Keys

Falls es zwischenzeitlich Änderungen gab findet Ihr die auf der Elrond Docs Seite https://docs.elrond.com/validators/testnet-node.

Wenn Ihr die MobaXterm Session zur Verbindung mit Eurem Server gestartet habt müsst Ihr zunächst das Elrond Go Script clonen, dazu zunächst ins Hauptverzeichnis

cd ~

und dort das Repository von git clonen

git clone https://github.com/ElrondNetwork/elrond-go-scripts-testnet

Dann die Variablen setzen, dazu müssen wir zunächst rausfinden wie wir heißen:

whoami

Das sollte Euren nonrootuser zurückgeben, dann im Ordner /elrond-go-scripts-testnet/config die Datei variables.cfg bearbeiten:

cd ~/elrond-go-scripts-testnet/config
nano variables.cfg

Dort die whoami Ausgabe in den beiden blau markierten Zeilen für <yourusername> eintragen:

Wieder mit Strg+x speichern und mit y bestätigen.

Dann den Node installieren, achtet dabei darauf, dass Ihr nicht im falschen Ordner seid, dazu mit

cd ~

in das Hauptverzeichnis (nicht $HOME oder /home$) wechseln und das Script zur Installation ausführen:

~/elrond-go-scripts-testnet/script.sh

Im erscheinenden Auswahlmenü die

1) „install“ wählen, bei der Abfrage dann den Wunschnamen des Nodes angeben und danach die
12) „quit“ wählen. (Zahlen können variieren, bitte entsprechend der Funktion anpassen)

Dann den Ordner für die Validator Keys im Hauptverzeichnis anlegen

cd ~
mkdir -p ~/VALIDATOR_KEYS

und die Keys anlegen

./elrond-utils/keygenerator

die erstellten Keys (Datei validatorKey.pem) in der Datei node-0.zip verpacken

zip node-0.zip validatorKey.pem

und in den erstellten Ordner verschieben:

mv node-0.zip $HOME/VALIDATOR_KEYS/

Jetzt das Keyfile noch auf dem Server in den „config“ Ordner verschieben

mv validatorKey.pem $HOME/elrond-nodes/node-0/config/

Bitte prüft, ob die gezippte Datei „node-0.zip“ danach auch wirklich im Ordner „VALIDATOR_KEYS“ liegt. Eingabe

ls

zeigt den Verzeichnisinhalt an, der Ordner VALIDATOR_KEYS sollte angezeigt werden

cd VALIDATOR_KEYS

wechselt in das Verzeichnis VALIDATOR_KEYS, erneut

ls

sollte dann die Datei node-0.zip anzeigen.

Diese Dateistruktur ist wichtig, damit das System automatisch Updates machen kann. Auch für diese Keys gilt wieder, sicher verwahren! Da wir die Datei „validatorKey.pem“ später noch zum staken brauchen, laden wir sie auf den Desktop und speichern sie sicher zwischen. Ok, im Testnet ist das alles nicht so wild, aber das Testnet soll helfen die Tätigkeiten im Mainnet zu üben, von daher übt am besten auch gleich den sicheren Umgang mit Keyfiles!

Bitte erneut das Skript starten, dazu zunächst zurück ins Hauptverzeichnis:

cd ~

dann wieder

~/elrond-go-scripts-testnet/script.sh

ausführen. Im Auswahlmenu die

7) „start“ wählen. (die Zahl kann variieren)

Jetzt könnt Ihr Euren Node schon bei der Arbeit als Observer beobachten, erst konfigurieren:

$HOME/elrond-utils/termui -address localhost:8080

Dann starten:

./elrond-utils/termui

Die Anzeige sollte bei Euch ähnlich aussehen, da mein termui bereits einen Validator zeigt, können die Informationen abweichen, das grüne „synchronized“ z. B. wird bei Euch sehr wahrscheinlich nicht gleich dauerhaft stehen.

Sicherheitshalber prüfen, ob es Updates gibt, aber normal solltet Ihr die neuste Version beim clonen erhalten haben, dazu wieder:

~/elrond-go-scripts-testnet/script.sh

Im Auswahlmenü die (Zahlen können variieren)

10) „github pull“ wählen, danach die
8)„stop“ wählen, dann
3) „upgrade“ wählen, dann
7) „start“ und mit
12) „quit“ das Menu verlassen.

Jetzt steht Euer Observer! Im letzten Schritt machen wir daraus einen Validator, indem wir
2500 xEGLD staken.

8. Staking, Telegram und Basic Monitoring einrichten

Um jetzt vom Observer zum Validator zu werden müsst Ihr nur noch 2500 xEGLD staken. xEGLD ist die Testnet Variante von eGLD und die bekommt Ihr am einfachsten im Validator Chat von Elrond auf Telegram. Dazu müsst Ihr Telegram installieren. Leider sind die Grundeinstellungen von Telegram etwas Scam und Spam freundlich. Falls Euch irgendjemand anschreibt und ein Vermögen verspricht, ich habe bis heut noch keins bekommen, stattdessen nur Ärger, daher drehen wir den Brüdern gleich den Hahn hab! Dazu auf das „Burger Button“ links oben klicken, dann „Settings“ oder „Einstellungen“ anwählen und wenn gewünscht, unten „Sprache“ auf „Deutsch“ stellen, dann „Privatsphäre und Sicherheit“ anwählen und darin folgende Einstellungen machen:

Telefonnummer: Nummer sehen: Niemand oder Kontakte
Nummer finden: Niemand oder Kontakte

Gruppen und Kanäle: Niemand oder Kontakte

Bei mir sieht das dann ungefähr so aus:

Die „Gruppen und Kanäle“ Einstellung ist sehr wichtig, da Ihr sonst andauernd von Spam-Bots in Gruppen eingeladen werdet, die Ihr sehr wahrscheinlich nicht besuchen möchtet. Es kann allerdings hilfreich sein die Einstellung auf „Kontakte“ zu setzen, damit Freunde Euch in Gruppen einladen können.

Tretet dann der Validator-Gruppe bei, dazu oben links im Suchfenster https://t.me/ElrondValidators eingeben, die Gruppe anklicken und unten auf „GRUPPE BEITRETEN“ klicken.

Es gibt viele Elrond Gruppen und Admins, aber keine davon macht Airdrops und sonstige Geschenke, und keine davon wird Euch jemals anschreiben! Das ist das erste Erkennungszeichen für Betrüger, meldet solche Leute gleich (Oben wird die „Block“ Option angezeigt, danach gibt’s die Möglichkeit zum „Report“).

In der Validator Gruppe könnt Ihr dann freundlich nach 2510 xEGLD fragen, 2500 zum staken, und 10 zum Testen, Ihr Eure ersten „Test-Rewards“ erhaltet! Macht Euch doch ein zweites Testwallet und prüft, wie lange es dauert bis 1 xEGLD vom Ersten zum Zweiten überwiesen ist. Falls Ihr Fragen rund ums Node aufsetzen, oder auch sonstige habt, dort könnt Ihr die gerne stellen. Im Schlimmsten Fall werdet Ihr an die richtige Gruppe verwiesen. Nur bitte keine Preisdiskussionen beginnen, dafür gibt es extra den Elrond Trader Channel https://t.me/elrondTRADER.

Sehr zu empfehlen sind auch die Community Gruppe https://t.me/ElrondNetwork und die Deutsche Community https://t.me/ElrondNetwork_de.

In der Regel sind in wenigen Minuten die 2510 xeGLD in Eure Wallet gesendet. Loggt euch wie oben beschrieben ein und wenn mehr als 2500 eGLD angezeigt werden, wählt den Link „Validate“ links unten im Dashboard. Dann klickt rechts oben auf den Button „Stake now“, zieht die vorhin gesicherte „validatorKey.pem“ Datei in das Dialogfeld und drückt „Continue“

Danach müsst Ihr die Transaktion nur noch mit „Confirm“ bestätigen

Im mittleren Bereich „My Validator Keys“ seht Ihr nun hinter Eintrag den Status Eures „Stakings“, wenn dort „QUEUED“ steht seid Ihr in der Warteschlange und müsst warten bis andere Nodes abgemeldet werden, wenn Ihr den Mauszeiger über „QUEUED“ bewegt, seht Ihr wie viele vor Euch in der Schlange sind.

Dazu auch ruhig höflich im Validator Chat anfragen, ob jemand vielleicht einen Platz freimachen kann. Wenn der Status dann zu „STAKED“ wechselt, seid Ihr Validator im Testnet. Ihr müsst allerdings noch 2–3 Epochen (je 4h) warten, bis Ihr tatsächlich mit ausgelost werden könnt, um in einem der shards aktiv mit zum Betrieb des Testnets beizutragen, also zu validieren. Genaueres zum Losverfahren könnt Ihr in den Elrond Docs oder auf der Webseite finden.

Jetzt möchte man in der Regel natürlich auch ein wenig Monitoring betreiben, um Euren Node zu überwachen gibt es sehr mächtige Tools, wir wollen hier nur drei sehr einfache, aber schon recht effektive Methoden vorstellen:

Testnet-explorer:
Ihr könnt euch auch im Testnet-explorer https://testnet-explorer.elrond.com/validators/nodes nach Eurem Node umsehen, durch Eingabe des Node-Namens, den Ihr gewählt habt, könnt Ihr Euch die Suche erleichtern.

Wenn Ihr auf den Public Key klickt erhaltet Ihr weitere interessante Infos, bzw. könnt den auch für die nächste Monitoring-Methode aus der Suchleiste des Browsers kopieren.

Elrond Testnet Monitor https://t.me/ElrondTestnetBot:
Einfach den Telegram-Chat öffnen „/start“ eingeben und dort Euren Public Key hinzufügen (+ Add). Über den Klick auf Status seht ihr den aktuellen Status Eures Nodes und beim Klick auf Details findet Ihr noch genauere Infos.

Server-logs:
Desweiteren könnt Ihr Euch im script.sh Menü auch unter 11) „get logs“ logfiles auf dem Server erzeugen lassen und diese auswerten.

Es gibt also schon ohne großen Aufwand einige Überwachungseinrichtungen neben der Termui Oberfläche. Für die, die es ganz genau wissen wollen gibt es aber noch deutlich mächtigere Tools, z. B. von Netdata, aber dazu vielleicht ein anderes Mal mehr.

9. Ausblick, weitere Quellen

Es gibt natürlich unendlich viel mehr Infos über Elrond, lest Euch ein, macht mit! Gute Startpunkte sind https://elrond.com oder https://docs.elrond.com/. Eine Übersicht über die verschiedenen Chat-Gruppen und ähnliches findet Ihr unter https://linktr.ee/elrond.

Um Mainnet Validator zu werden müsst Ihr nahezu das gleiche machen wie eben, allerdings braucht Ihr da 2500 „echte“ eGLD, momentan (09.11.2020) ca. 20.550 $ oder 17.500 €. Das mag manchem sehr viel erscheinen, ist aber beabsichtigt. Das Prinzip nennt sich PoS, Proof of Stake, und die Validatoren weisen über die „Einlage“ den „Stake“ Ihre „Zuverlässigkeit“ nach. Schlechte Validatoren können gestraft werden, gute erhalten Transaktionsgebühren bzw. Zinsen auf Ihre Anlage. Dieses System bringt sehr viele Vorteile im Bezug auf Nachhaltigkeit und Sicherheit, wenn Euch das interessiert lest Euch dazu das Economics Paper durch https://elrond.com/assets/files/elrond-economics.pdf oder besucht die Seite eines Staking Providers wie Istari Vision https://istari-vision.com/?lang=de (Ökonomisches Wirtschaftsdokument ist auch auf Deutsch verfügbar). Ich hoffe Ihr hattet Spaß und es läuft alles, ansonsten kommt in den Chat oder fragt uns einfach direkt https://t.me/CryptoCrabb oder https://t.me/WolfgangRueckerl. Vielen Dank auch an @Runkosx3 @hazzabach und die Elrond Warriors DE

--

--