Bitcoind-Statistiken

Ich brauche einige Werte, um herauszufinden, wie aktualisiert mein Bitcoin-Client ist.

Zum Beispiel möchte ich, dass die GUI mir sagt:

  1. Wenn es aktuell ist. Wenn nicht, Blöcke/Gesamtblöcke anzeigen
  2. Wie viele Blöcke wurden heruntergeladen
  3. Die Zeit, zu der der letzte empfangene Block generiert wurde.

Sind in der JSON-API Befehle verfügbar, um diese Informationen abzurufen? Oder wie kann ich das sonst erreichen?

Grüße

Ich hatte den Eindruck, dass Version 5+ des Clients (bitcoin-qt) all diese Fähigkeiten bietet. Liege ich falsch?
Der Client kann unmöglich sagen, ob er in Bezug auf Blöcke auf dem neuesten Stand ist. Der Client kann nur wissen, dass ein Block existiert, indem er ihn validiert. Die einzige Möglichkeit, einen Block zu validieren, besteht darin, ihn bereits zu haben. Der Client hat keinen anderen Mechanismus, um sich davon zu überzeugen, dass es nicht bereits aktuell ist. (Die Ausnahme wäre, wenn davor ein Kontrollpunkt wäre.)
Woher weiß Bitcoin-QR, dass es „nicht synchron“ ist? Und es sagt auch so etwas wie ~24 Block(s) verbleibend.

Antworten (1)

Sie müssen wahrscheinlich lesen: https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list

Wahrscheinlich werden Ihnen die Methoden getblockcount und getblocknumber gefallen.

Ich glaube nicht, dass die API Ihnen die neueste Blocknummer geben kann, bis sie aktualisiert wurde, aber Sie finden sie auf http://bitcoinwatch.com/ -> Blöcke -> Anzahl.

Weitere Details (von #bitcoin-dev im IRC, dank sturles): Der Client kann es nicht sicher wissen, bis alle Blöcke verifiziert sind, aber er kann melden, was andere Clients behaupten. Ein böswilliger Client kann Ihrem Client beliebige Zahlen melden, sodass der Bitcoin-Client nicht sicher sein kann, bis der letzte Block verifiziert ist. Es kann auch eine Schätzung basierend auf der aktuellen Zeit und dem Alter des letzten verifizierten Blocks machen.
Ihre beste Vermutung ist also, die neueste Blocknummer von einem vertrauenswürdigen Anbieter zu erhalten (bitcoinwatch.com ist nur ein Beispiel).
Danke für deine Antwort. Ich habe diese API-Befehlsliste gelesen, aber sie ist ziemlich vage. Die ganze Idee dabei war, die Verwendung von Drittanbietern zu vermeiden :( Wie kann ich eine Schätzung erstellen? Wie kann ich den letzten verifizierten Block erhalten? Cheers.
Sie haben keine Möglichkeit, sich dessen sicher zu sein, bis Ihr lokaler Client alle Blöcke überprüft hat; Andere Clients können Sie anlügen, aber wenn Sie sich den Client-Code und debug.log ansehen, könnten Sie feststellen, dass andere Knoten Ihnen Nachrichten wie "Versionsnachricht: Version 32300, Blöcke = 170346" senden, sie sagen Ihnen ihre Version und Blockanzahl , können Sie Clients der alten Version ignorieren und entscheiden, dass alle Clients der neuesten Version den neuesten Block haben sollen.
Diese Option zu haben (heruntergeladene XXX/YYYY-Blöcke) könnte wirklich nützlich für Bitcoin-Benutzer sein, wenn Sie sie als API-Aufruf implementieren können, forken Sie bitte github.com/bitcoin/bitcoin und senden Sie eine Pull-Anfrage, um Ihre gute Idee mit anderen zu teilen!