Bei einer normalen Node ist es relativ einfach auf ein neues Image zu wechseln, im Prinzip neues Image flashen - fertig.
Bei einem Pi der als Witness läuft ist es etwas aufwändiger, hier die einzelnen Schritte.
Kurz zur Orientierung, man startet unter Linux auf der Bash seines PC, mit
ssh root@cryptopie
landet man auf der Bash des Pidocker exec -it blurtd bash
wechselt zur Bash des laufenden Docker Containers blurtdexit
beendet die aktuelle Bash und man landet wieder in der vorigen Ebene.Zur Kontrolle kann man sich mit ls /
die Einträge im Hauptverzeichnis anzeigen lassen. Man erhält unterschiedliche Einträge, je nachdem wo man sich gerade befindet.
Ok, kommen wir jetzt zu den einzelnen Schritten…
Für das neue Image brauchst du sowohl deinen privaten als auch den public Witness-Key. Den privaten Key hast du sicherlich irgendwo gespeichert, den public Key findest du im ecosynthesizer unter Authorities, Signing:
Wie gewohnt SD-Karte mit dem neuen Image flashen. Eine zweite SD-Karte ist empfehlenswert, so hat man seine aktuelle Installation als Reserve falls etwas schief läuft.
Mit folgenden Befehlen wird der Witness auf Chainebene deaktiviert, es werden dann keine Blöcke mehr zugewiesen und während der Ausfallzeit auch keine verpassten Blöcke generiert.
docker exec -it blurtd bash
// wechsel auf die Bash des Blurtd-Containers
cd /blurtd
// ins Verzeichnis von blurtd wechseln
cli_wallet
// Wallet aufrufen
locked >>> unlock yourpassword
// Wallet entsperren
unlocked >>> update_witness "youraccount" "https://your-blog-url" "BLT1111111111111111111111111111111114T1Anm" {"account_creation_fee":"10.000 BLURT","maximum_block_size":65536} true
// Witness deaktivieren
mit ctrl+d
Wallet beenden
mit exit
zurück auf die Bash des Pi
docker stop blurtd
// Container stoppen
shutdown -h now
// Pi runterfahren
Stromkabel vom Pi trennen, neu geflashte SD-Karte einsetzen, Stromkabel wieder anschließen, warten bis die Chain synchronisiert ist, das dauert ca. eine Stunde.
Mit top
kann man beobachten was gerade geschieht, erscheint blurtd in der Spalte COMMAND wurde der Container gestartet und es die Synchronisation beginnt. Jetzt kann man mit docker logs blurtd -f
den Fortschritt sehen, erscheint alle 3 Sekunden ein neuer Block ist man synchron und geht es weiter zu Punkt 4. (Top & Logbuch jeweils ctrl+c beenden)
Da es ein neues Image ist, müssen neue Key's erzeugt und in die cli_wallet importiert werden. Das bisherige Passwort der cli_wallet kennt das neue Image natürlich auch nicht.
docker exec -it blurtd bash
// wechsel auf die Bash des Blurtd-Containerscd /blurtd
// ins Verzeichnis blurtd wechselncli_wallet
// Wallet aufrufenset_password yourpassword
// set_password gefolgt vom gewünschten Passwortunlock yourpassword
// Wallet entsperrensuggest_brain_key
// Neue Schlüssel generierenimport_key wif_priv_key
// wif_priv_key = dein eben generierter privater Witness-Keyimport_key priv_activ_key
// priv_activ_key = dein privater AktivKeyctrl+d
Wallet beendenexit
zurück auf die Bash des Pinano /var/lib/docker/volumes/blurtd/_data/config.ini
// Witness-Account und privaten Witness-Key in der config.ini eintragen. Wichtig: Witness-Account in "Anführungszeichen" setzten, # am Zeilenbeginn ggf. entfernen.docker restart blurtd
// Änderungen nach blurtd schreiben und Container neu startendocker logs blurtd -f
ob alles korrekt läuftFast fertig, jetzt müssen wir nur noch den Witness wieder aktivieren:
docker exec -it blurtd bash
// wechsel auf die Bash des Blurtd-Containerscd /blurtd
// ins Verzeichnis von blurtd wechselncli_wallet
// Wallet aufrufenunlock yourpassword
// Wallet entsperrenupdate_witness "michelangelo3" "https://blurtworld.com/@michelangelo3" "WITNESS_PUBLIC_KEY" {"account_creation_fee":"10.000 BLURT","maximum_block_size":65536} true
// WITNESS_PUBLIC_KEY = dein Witness public Key, beginnt i.d.R. mit BLT… Und klar, michelangelo3 muss mit deinem Accountnamen und die Blog-URL durch deine eigene ersetzt werden.ctrl+d
Wallet beendenexit
zurück auf die Bash des Pi