Gibt es einen Befehl, um zu erfahren, DateTime
wann bitcoind
zuletzt ein Block empfangen wurde?
Nein, gibt es nicht. getblockcount
kann nur die Anzahl der Blöcke in der besten Kette erhalten, aber nicht den zuletzt empfangenen Block.
Möglicherweise müssen Sie einen neuen RPC schreiben, um den zuletzt empfangenen Block zu erhalten.
Fügen Sie zuerst eine neue Datenstruktur in main.cpp hinzu und zeichnen Sie die Reihenfolge der empfangenen Blöcke in auf ProcessBlock()
.
Schreiben Sie zweitens ein RPC, um diese Datenstruktur auszudrucken.
Ich denke, die Leute schauen sich die Bitcoin-Protokolldateien an, um die empfangenen Zeiten zu sehen. Möglicherweise ist ein grep in der Protokolldatei das, was Sie brauchen?
Was Sie wahrscheinlich tun möchten, ist ein Skript einzurichten, -blocknotify=
wenn Sie Ihren Daemon starten. Beispielsweise könnten Sie den Block-Hash mit dem %s
Formatierer echoen und die Zeit, zu der er empfangen wurde, echoen und die Ausgabe in eine Datei leiten:
./bitcoind -daemon -server -blocknotify="echo %s; date"
Wenn Sie die Anzahl der Blöcke in der gesamten Kette meinen, getblockcount
erhalten Sie diese.
Die Befehle getinfo
und getblockchaininfo
auch beide enthalten "Blöcke" in ihrer Antwort. Letzteres beinhaltet auch „Header“, die Ihnen eine höhere Zahl als „Blöcke“ anzeigen sollten, wenn Bitcoin noch nicht aufgeholt hat, aber von einem neueren Block gehört hat.
Mursch