Neues Image flashen

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.

Orientierung

Kurz zur Orientierung, man startet unter Linux auf der Bash seines PC, mit

  • Befehl 1 ssh root@cryptopie landet man auf der Bash des Pi
  • Befehl 2 docker exec -it blurtd bash wechselt zur Bash des laufenden Docker Containers blurtd
  • Der Befehl exit 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

Moment noch, wichtig!

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:

1.) Neues Image flashen

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.

2.) Wintess deaktivieren

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

3.) Neues Image starten

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)

4.) Key's eintragen

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-Containers
  • cd /blurtd // ins Verzeichnis blurtd wechseln
  • cli_wallet // Wallet aufrufen
  • Es kommt die Meldung "Please use the set_password method to initialize a new wallet before continuing".
  • new >>> set_password yourpassword // set_password gefolgt vom gewünschten Passwort
  • locked >>> unlock yourpassword // Wallet entsperren
  • unlocked >>> suggest_brain_key // Neue Schlüssel generieren
  • unlocked >>> import_key wif_priv_key // wif_priv_key = dein eben generierter privater Witness-Key
  • unlocked >>> import_key priv_activ_key // priv_activ_key = dein privater AktivKey
  • mit ctrl+d Wallet beenden
  • mit exit zurück auf die Bash des Pi
  • nano /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.

    Mit ctrl+o und Enter speichern, ctrl+x Editor schließen.
  • docker restart blurtd // Änderungen nach blurtd schreiben und Container neu starten
  • Kontrolle mit docker logs blurtd -f ob alles korrekt läuft

5.) Wintess wieder aktivieren

Fast fertig, jetzt müssen wir nur noch den Witness wieder aktivieren:

  • docker exec -it blurtd bash // wechsel auf die Bash des Blurtd-Containers
  • cd /blurtd // ins Verzeichnis von blurtd wechseln
  • cli_wallet // Wallet aufrufen
  • unlock yourpassword // Wallet entsperren
  • unlocked >>> update_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.
  • mit ctrl+d Wallet beenden
  • mit exit zurück auf die Bash des Pi
  • Geschafft! Dein Pi sollte jetzt wieder wie gewohnt Blöcke produzieren.