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 431018muss71d50ff1…4b67liefern, 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 →