English version under the German
Kurzes Vorwort
Nachdem mir das mit dem Image bei TestNet-2 nicht so gefallen hat, da man immer nie gesehen hat, was da gerade passiert und somit auch Fehler passiert sind, habe ich das Image so weit verändert, dass nahezu nichts mehr im Hintergrund läuft und man trotzdem kaum was selber machen muss.
Die komplette Installation der DIG-Node passiert mit dem Starten einer Datei. Auch Optional ist so eine Blurt-Node einzurichten. Alles in einem Image! Auch sind viele Service Skripte mit drin, wie ein System Update, anzeigen des eigenen DIG-Namens usw. Wer jetzt noch was falsch macht dem kann ich auch nicht mehr helfen. :D
Vorab auch ein Danke an @nerdtopiade für die Inspiration einiger Skripte und der Bereitstellung eines DIG-PEERS für die Installation und auch ein Danke an @dirtyharryhh, der das Image einen Testlauf unterzog.
Die Vorbereitung
Benötigt werden:
- Raspberry Pi 4
- SD-Karte 64GB oder mehr
- Kartenlesegerät für den Heimischen Computer
- Das von mir Modifizierte Image zum Flashen: Download
- Ein Programm zum Flashen: z.B. Etcher
Schritt 1
- SD-Karte Flashen und RasPi damit starten
Wir flashen das Image auf die SD-Karte und stecken diese in den Micro-SD-Kartenslot des RasPi und versorgen diesen mit Strom, damit er startet. Wie man eine SD-Karte flasht beschreibe ich hier jetzt nicht, dass kann meinem Guide zum Blurt-Witness entnommen werden: LINK
Schritt 2
- Auf den RasPi einloggen
Nun müssen wir ein SSH Programm wie PuTTY, oder einfach die Windows Eingabeaufforderung öffnen. Dort loggen wir uns auf den RasPi ein.
ssh root@digger
Kennwort: root
(Bei der Ersten Verbindung muss eine Frage bezüglich eines Fingerabdrucks mit YES
bestätigt werden.)
Schritt 3
- Starten der DIG-Node Installation
Nun können wir auch schon mit der Installation beginnen. Hierfür muss nur ein einziger Befehl eingegeben werden. Dieser erledigt alles. (System Update, Programme Download und Installation, Herunterladen der DIG-Dateien, Installation von DIG, anlegen eines Validator Namen, download des Blockchain-Presyncs und herunterladen der genesis Datei. Dann wird noch die dig.service zum starten der Blockchain eingerichtet.)
./diginstall.sh
Schritt 4
- Starten der Blockchain / Node
Nachdem die Installation abgeschlossen ist, wird euer durch Zufall generierter Validator Name angezeigt. Diesen könnt ihr schon einmal notieren, damit ihr wisst, wie ihr in der Liste der Validatoren heißt. Nun ist auch schon die Zeit, um die Blockchain zu starten.
./digstart.sh
Schritt 4.1
- Warten auf den vollständigen Sync
Nun MÜSSEN wir warten, bis die Node komplett Synchronisiert und auf den aktuellen Stand ist. Dies kann unter Umständen sehr lange dauern! Um zu schauen, wie weit ihr seid, habe ich wieder ein Skript angelegt.
./digshow.sh
Hier könnt ihr anhand der Zahl neben dem Wort
height=
sehen, wie weit euere Synchronisation ist. Ich werde das Pre-Sync-File öfter im Monat aktualisieren, aber eine längere Nachsynchronisation ist auch damit nicht zu verhindern. Leider kann man ohne Block Explorer nicht sagen, wie weit ihr nachsynchronisieren müsst, daher ist es aktuell noch ein Bauchgefühl wann es soweit ist. Ich kann euch nur sagen, wenn ihr über ./digshow.sh nur noch alle 6 Sekunden eine neue Zeile / Zahl bekommt, seid ihr auf den aktuellen Stand und könnt mit Schritt 5 weiter machen. Wenn ihr noch nicht Synchronisiert seid, dann bringen alle Befehle ab jetzt eine Fehlermeldung!
Schritt 5
- Anlegen der Validator Schlüssel
Ab jetzt gibt es keine Skripte mehr, ab jetzt ist Handarbeit gefragt. Aber keine Angst es ist weiterhin nicht schwer. Ihr müsst folgenden Befehl eingeben um euere Validatoren Schlüssel zu erstellen.
digd keys add validator
ACHTUNG:
Die Keys sind zu notieren! Auch die mnemonic phrase (24 Worte)!
Vorbereitung für Schritt 6
- Ihr braucht DIG auf eueren Konto!
Um den Validator zu registrieren benötigt ihr DIG auf eueren Konto. Die Konto-Adresse ist unter Schritt 5 erstellt und angezeigt worden (Diese Daten habt ihr natürlich notiert). Diese könnt ihr mir in den Kommentaren oder per Discord zukommen lassen, dann werde ich euch 10 DIG für die Registrierung schicken. Sobald ich das getan habe könnt ihr euer Konto einsehen um es zu überprüfen. Hierfür gibt es wieder ein Befehl.
digd q bank balances DEINE_DIG_ADRESSE
Die Balances Anzeige ist in
udig
.
Zur Erklärung: 1DIG = 1000000udig
Schritt 6
- Wir werden ein echter Validator
Jetzt sollte alles soweit sein, dass ihr euch als Validator Registrieren könnt. Ihr habt von mit 10 DIG bekommen, die Node ist aktuell und läuft vor sich hin. Also trennt euch nur ein Befehl vom Validator Status.
digd tx staking create-validator --amount 5000000udig --from DEINE_DIG_ADRESSE --pubkey 'DEIN_PUBLIC_TENDERMINT_KEY' --commission-rate 0.1 --commission-max-change-rate 0.1 --commission-max-rate 1 --min-self-delegation 1 --chain-id dig-testnet-3 --yes
Eine Hilfestellung zu Schritt 6
Hier musst du nur 2 Sachen verändern.
DEINE_DIG_ADRESSE:
Dies ist wieder die gleiche Adresse auf die ich dir die 10 DIG geschickt habe.
DEIN_PUBLIC_TENDERMINT_KEY
Der komplette KEY, den du angezeigt bekommst, wenn du den Befehl digd tendermint show-validator
eingibst.
Also wirklich komplett benutzen auch mit den Klammern.
Beispiele:
DEINE_DIG_ADRESSE:
dig1uvct062djegd893dr8n347rvt7w06n2gsgane9
DEIN_PUBLIC_TENDERMINT_KEY:
{"@type":"/cosmos.crypto.ed25519.PubKey","key":"foEwJVVSLXxYwdh8xX9ileXXXpn/XKTo1CUqaFt78tw="}
Damit würde der zu benutzende Befehl so aussehen:
digd tx staking create-validator --amount 5000000udig --from dig1uvct062djegd893dr8n347rvt7w06n2gsgane9 --pubkey '{"@type":"/cosmos.crypto.ed25519.PubKey","key":"foEwJVVSLXxYwdh8xX9ileXXXpn/XKTo1CUqaFt78tw="}' --commission-rate 0.1 --commission-max-change-rate 0.1 --commission-max-rate 1 --min-self-delegation 1 --chain-id dig-testnet-3 --yes
Bonus Befehle
Wenn ihr durch Verbindungsproblemen auf einmal nur noch 0 Voting Power habt (digd status
) wurdet ihr in das Jail gepackt. Dort könnt ihr euch raus holen mit:
digd tx slashing unjail --from validator --chain-id dig-testnet-3 --yes
Wenn ihr generell nur noch Verbindungsfehler mit der Blockchain habt (journalctl -u dig -f
) könnt ihr mit 2 Befehlen neu Verbinden:
./digstop.sh
./digstart.sh
Im Image zu Test-Net 4 werde ich daraus ein Befehl machen. (./digreconnect.sh
) Die Idee kahm mir dann doch zu spät.
Auch Blurt ist an Board
Es kann auch eine Blurt Node installiert werden. Hierfür nur den Befehl eingeben:
./blurtinstall.sh
Wenn ihr darauf einen Witness einrichten wollt, verweise ich erneut auf mein Blurt Witness Guide (LINK). Alles vor Schritt 5 wird vom Skript erledigt.
English Version
Short preface
After I didn't like the image of TestNet-2, because you never saw what was going on and errors happened, I changed the image so far, that almost nothing runs in the background and you don't have to do anything by yourself.
The complete installation of the DIG-Node happens with the start of a file. Also optional is to set up such a Blurt-Node. Everything in one image! Also many service scripts are included, like a system update, display of the own DIG name etc.. Who makes now still what wrong I can not help. :D
In advance also a thank you to @nerdtopiade for the inspiration of some scripts and the provision of a DIG-PEERS for the installation and also a thank you to @dirtyharryhh, who subjected the image to a test run.
The preparation
Needed are:
- Raspberry Pi 4
- SD card 64GB or more
- Card reader for the home computer
- The image modified by me for flashing: Download
- A program for flashing: e.g. Etcher
Step 1
- Flash SD card and start RasPi with it
We flash the image onto the SD card and insert it into the micro SD card slot of the RasPi and supply it with power so that it starts. How to flash a SD card I do not describe here, that can be taken from my guide to Blurt-Witness: LINK
Step 2
- Log in to the RasPi
Now we have to open a SSH program like PuTTY, or just the Windows command prompt. There we log in to the RasPi.
ssh root@digger
Password: root
(When connecting for the first time, a question regarding a fingerprint must be confirmed with 'YES'.)
Step 3
- Start the DIG-Node installation
Now we can already start the installation. Only one command has to be entered. This will do everything. (System update, programs download and installation, download the DIG files, install DIG, create a validator name, download the blockchain presync and download the genesis file. Then the dig.service to start the blockchain is also set up).
./diginstall.sh
Step 4
- Start the Blockchain / Node
After the installation is complete, your randomly generated validator name will be displayed. You can make a note of it so that you know what your name is in the list of validators. Now it is time to start the blockchain.
./digstart.sh
Step 4.1
- Wait for the complete sync
Now we MUST wait until the node is completely synced and up to date. This can take a very long time in some circumstances! To see how far you are, I created a script again.
./digshow.sh
Here you can see how far your synchronization is by the number next to the word
height=
. I will update the pre-sync file more often in the month, but a longer post-sync is not to be prevented also with it. Unfortunately, without Block Explorer, you can't tell how far you'll have to resync, so it's currently still a gut feeling when it's time. I can only tell you, if you only get a new line / number every 6 seconds via ./digshow.sh, you are up to date and can continue with step 5. If you are not synchronized yet, then all commands from now on bring an error message!
Step 5
- Create the Validator keys
From now on there are no more scripts, from now on manual work is needed. But don't worry, it's still not difficult. You have to enter the following command to create your validator keys.
digd keys add validator
ATTENTION:
The keys are to be noted! Also the mnemonic phrase (24 words)!
Preparation for step 6
- You need DIG on your account!
To register the validator you need DIG on your account. The account address has been created and displayed in step 5 (You have noted this data of course). You can send it to me in the comments or via Discord, then I will send you 10 DIG for the registration. As soon as I have done that you can view your account to check it. There is a command for this again.
digd q bank balances YOUR_DIG_ADDRESS
The Balances display is in
udig
.
For explanation: 1DIG = 1000000udig
Step 6
- We become a real validator
Now everything should be ready for you to register as a validator. You have received 10 DIG, the node is up to date and running. So only one command separates you from the validator status.
digd tx staking create-validator --amount 5000000udig --from YOUR_DIG_ADDRESS --pubkey 'YOUR_PUBLIC_TENDERMINT_KEY' --commission-rate 0.1 --commission-max-change-rate 0.1 --commission-max-rate 1 --min-self-delegation 1 --chain-id dig-testnet-3 --yes
A guide to step 6
Here you have to change only 2 things.
YOUR_DIG_ADDRESS:
This is again the same address I sent you the 10 DIG to.
YOUR_PUBLIC_TENDERMINT_KEY:
The complete KEY you get displayed when you enter the command:
digd tendermint show-validator
So really use it completely even with the brackets.
Examples:
YOUR_DIG_ADDRESS:
dig1uvct062djegd893dr8n347rvt7w06n2gsgane9
YOUR_PUBLIC_TENDERMINT_KEY:
{"@type":"/cosmos.crypto.ed25519.PubKey","key":"foEwJVVSLXxYwdh8xX9ileXXXpn/XKTo1CUqaFt78tw="}
This would make the command to be used look like this:
digd tx staking create-validator --amount 5000000udig --from dig1uvct062djegd893dr8n347rvt7w06n2gsgane9 --pubkey '{"@type":"/cosmos.crypto.ed25519.PubKey","key":"foEwJVVSLXxYwdh8xX9ileXXXpn/XKTo1CUqaFt78tw="}' --commission-rate 0.1 --commission-max-change-rate 0.1 --commission-max-rate 1 --min-self-delegation 1 --chain-id dig-testnet-3 --yes
Bonus commands
If you have only 0 voting power due to connection problems (digd status
) you will be put into jail. There you can get out with:
digd tx slashing unjail --from validator --chain-id dig-testnet-3 --yes
If you generally only have connection errors with the blockchain (journalctl -u dig -f
) you can reconnect with 2 commands:
./digstop.sh
./digstart.sh
In the image to Test-Net 4 I will make a command out of it. (./digreconnect.sh
) The idea came to me too late.
Blurt is also on board
You can also install a Blurt Node. Just enter the command:
./blurtinstall.sh
If you want to set up a Witness on it, I again refer you to my Blurt Witness Guide. (LINK). Everything before step 5 is done by the script.
Hi Doti,
wow! Das ist eine super tolle Anleitung!
Vielen herzlichen Dank für die viele Mühe und Arbeit, die du dir mit deinen ausführlichen Anleitungen jedes Mal machst!
Ich habe glatt Lust bekommen, einen dritten RasPi zu kaufen, um das alles ausprobieren zu können ;-)
Great progress, thanks!
Thank you for using my upvote tool 🙂
Your post has been upvoted (35.10 %)
Delegate more BP for better support and daily BLURT reward 😉
@tomoyan
https://blurtblock.herokuapp.com/blurt/upvote