Doichain Academy

Lektion 5 / 6 · 20 Minuten

Überwachung und Fork-Prüfung

Eine Node, die still auf der falschen Kette läuft oder seit Stunden keinen Block gesehen hat, liefert falsche Daten, ohne zu fehlen. Überwachung muss deshalb mehr prüfen als „Prozess läuft“.

Die Fork-Prüfung

Am 11. September 2026 aktivierte das Netzwerk bei Block 431017 Doichain Core 31. Seitdem gibt es zwei Ketten. Die gültige erkennt man an Block 431018:

Höhe Hash Bedeutung
431017 75a4ca09…a320 Aktivierung, letzter gemeinsamer Block
431018 71d50ff12b090561cc918ddb560334b4350758c7eace3f058dd332fb112f4b67 erster Block der Doichain
431018 (Altkette) bab49c13…2d34 von Core 31 mit bad-diffbits abgelehnt
doichain-cli getblockhash 431018

Diese Prüfung gehört in jede Überwachung, mit Alarm, falls sich das Ergebnis je ändert.

Was überwacht wird

Prüfung Alarm, wenn
getblockhash 431018 nicht 71d50ff1…4b67
Alter des letzten Blocks länger als 90 Minuten kein neuer Block
Blockhöhe weicht um mehr als wenige Blöcke vom Referenz-Explorer ab
getconnectioncount sehr wenige oder keine Peers
Version in getnetworkinfo nicht /Satoshi:31.1.x/
Speicherplatz Datenträger fast voll
getnetworkhashps, getdifficulty sprunghafte Änderung, ein großer Miner kommt oder geht

Für den Höhenvergleich liefert der Referenz-Explorer https://doi-explorer.le-space.de/api/getblockcount. Ohne eigene Node meldet die Doichain-API die Fork-Prüfung unter fork_check in GET https://doi-api.sendlabs.de/v1/status.

Ein einfacher Check

#!/bin/bash
EXP=71d50ff12b090561cc918ddb560334b4350758c7eace3f058dd332fb112f4b67
H=$(doichain-cli getblockhash 431018) || { echo "RPC nicht erreichbar"; exit 3; }
[ "$H" = "$EXP" ] || { echo "FALSCHE KETTE"; exit 2; }
T=$(doichain-cli getblock "$(doichain-cli getbestblockhash)" | grep '"time"' | head -1 | tr -dc 0-9)
ALTER=$(( $(date +%s) - T ))
[ $ALTER -lt 5400 ] || { echo "seit $ALTER s kein Block"; exit 1; }
echo "ok, letzter Block vor $ALTER s"

Ein solcher Check lässt sich in Uptime Kuma, Checkmk, Nagios oder ein eigenes Monitoring einbinden. Exit-Code 0 heißt gut, alles andere löst Alarm aus. Unterschiedliche Codes für „RPC nicht erreichbar“, „falsche Kette“ und „kein Block“ helfen bei der Fehlersuche.

Blockpausen richtig einordnen

Die Doichain zielt auf 10 Minuten je Block, aber Blöcke entstehen zufällig, und die Hashleistung kommt von wenigen Merged-Mining-Pools. Pausen von 30 bis 60 Minuten kommen vor. Deshalb liegt die Alarmgrenze bei 90 Minuten und nicht bei 15. Ein Notventil im DigiShield erleichtert nach 3.600 Sekunden ohne Block den nächsten.

Releases verfolgen

Konsensänderungen werden in den Releases und Issues von Doichain/doichain-core angekündigt. Wer eine Node betreibt, abonniert die Release-Benachrichtigungen.

Merksätze

  • getblockhash 431018 muss 71d50ff1…4b67 liefern, Alarm bei Änderung.
  • Alarm nach 90 Minuten ohne Block, nicht früher.
  • Höhe gegen den Referenz-Explorer vergleichen.

Bitte anmelden, um den Fortschritt zu speichern und die Prüfung abzulegen. Registrieren

Weiter →