Wie kann ich die DateTime abrufen, wann Bitcoin zuletzt einen Block erhalten hat?

Gibt es einen Befehl, um zu erfahren, DateTimewann bitcoindzuletzt ein Block empfangen wurde?

Diese Frage wurde gerade auf die Titelseite zurückgeschoben. Ich habe versucht, es zu überarbeiten, um es so klar wie möglich zu machen, und einige weitere Tags hinzugefügt. Bitte zögern Sie nicht, den Beitrag weiter zu bearbeiten oder zu verbessern, oder meine Änderungen rückgängig zu machen, wenn nicht mehr gefragt wird, woran Sie interessiert waren. Wenn sie bereits zu Ihrer Zufriedenheit beantwortet wurde, wäre es hilfreich, wenn Sie eine Antwort akzeptieren, damit sie nicht mehr als "unbeantwortet" angezeigt wird.

Antworten (4)

Nein, gibt es nicht. getblockcountkann 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 %sFormatierer 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, getblockcounterhalten Sie diese.

Die Befehle getinfound getblockchaininfoauch 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.