Wie kann man überprüfen, ob die Block-Kette auf dem neuesten Stand ist mit bitcoind oder JSON-RPC? Bitcoin Stapelaustausch

Wie kann man überprüfen, ob die Block-Kette auf dem neuesten Stand ist mit bitcoind oder JSON-RPC? Bitcoin Stapelaustausch

blockchain Portemonnaie Scheck

Erhalten Sie via App Store Lesen Sie diese postbode te unserer App!

Wie kann man überprüfen, ob die Block-Kette auf dem neuesten Stand ist mit bitcoind oder JSON-RPC?

Ich las die gesamte api Methodenliste und schien nicht zu finden.

Ich nehme an, es keine Richtlinie speziell für diesen Zweck ist, so etwas ist die allgemeine Art und Weise, dies zu tun?

Ich würde den Zeitstempel des letzten erzeugten Blockprüfmechanismen, aber die getblock Methode ist nicht in der Tat te viel Detail erläutert.

Einige Menschen Reaktion, die ich soll die Blockzählung mit einem von einem Online-Blockkette Monitor vergleichen. Das ist nicht wirklich eine praktische Lösung. Das Bitcoin-Qt-Client hat eine Möglichkeit zu wissen, wann die Synchronisierung (das V-Zeichen gegen das Syncing-Symbol) durchgeführt wird, also warum bitcoind nicht? Wie funktioniert die Bitcoin-Qt diese Information?

zehn Antworten

Ich benutze einen Python-Skript, das http packt: //blockchain.informatie/q/getblockcount und vergleicht sie mit dem Ausgang des bitcoind getblockcount.

Spil andere gesagt haben, gibt es keine absolute Möglichkeit zu sagen, wenn Ihr blockchain auf dem neuesten Stand.

Wie auch immer, hier ist mein Skript:

Es gibt keine Möglichkeit zu überprüfen, ob die Synchronisierung abgeschlossen ist, nur weil es nicht bekannt ist.

Ein wenig abstrakt und sehr wahrscheinlich te Ihren Fall nicht sinnvoll, ist der Kunde immer die Synchronisierung: Es gibt keinen wirklichen Unterschied dazwischen "mit allen Blöcken" und "nicht alle Blöcke mit" – es hat immer alle Bausteine, die es kennt, und weiß nicht, ob es Blöcke, die es verpasst.

Was die GUI zeigt Ihnen ist eine Vermutung. Es überprüft das Alter des letzten bekannten Block, und wenn es vor (IIRC) mehr als 90 Minuten ist, nimmt es nicht synchron ist. Dies ist in der Regel ein guter Indikator, aber es wird selten noch sicher zufällig von Zeit zu Zeit ausfallen.

Der Kern-Code hat eine andere Heuristik eingebaut, die von anderen Knoten berichteten Blockhöhen verwendet (ohne dass Informationen te irgendeine Weise zu Verifizieren, so dass es leicht betrogen). Diese Informationen werden verwendet, um zu bestimmen, ob es sollte Cache-Verhalten für viele schnellen Operationen oder Zuverlässigkeit zu optimieren. Es ist nicht direkt entweder, aber die getwork () und getblocktemplate () RPCs fehl ter diesem Modus ausgesetzt.

Bedenkt man, dass man immer etwas nicht synchron sind, ist hier, wie Sie durch, wie lange te Sekunden zu bekommen, und dann können Sie teilen, indem er 60 oder 3600 es te Minuten oder Stunden zu erhalten.

Wenn Sie wollen, dass es von Hand zu tun:

Oder die gleichen ter zwei Schritten

Ich habe nicht einen Weg finden, es zu einem Aufruf tun te, so ist hier ein Skript, das die ganze Sache tut, ohne Fehlerprüfung spil Sie sehen:

Dann können Sie ersetzen

Um die Anzahl der Minuten wie diese:

Oder die Anzahl der Stunden wie folgt aus:

Oder vorausgesetzt, Sie haben Perl (die Sie sehr wahrscheinlich haben) und dass Sie wählen das Datum des letzten Blocks haben:

Bitcoind nicht mehr unterstützt RPC-Aufrufe. Versuch:

beobachten Bitcoin-cli getblockchaininfo

Wenn die angezeigte Anzahl der Blöcke die angezeigte Anzahl der Header gleich, sind Sie synchronisiert!

Es gibt einige netten Lösungen hier, und vielleicht ist dies nur allzu einfach, aber, wenn Sie legitim sind Fang für die blockchain und nicht im Grunde am Ende so nur immer, dass frischen Block einmal

Zehn Minuten, schauen Sie sich die CPU-Auslastung.

Wenn Sie auf Linux sind, dann laufen "oben". bitcoind arbeiten werden ihre Kolben weg jeden Hash von jedem Block durch die blockchain berechnen. Sobald es gefangen ist, ist es im Grunde müßig.

So nach einem IP oder zwei verboten, weil die Überprüfung zu oft hat. so werde ich einige Optionen geben, wie immer verboten zu vermeiden. Allererste, nicht das Skript unter diesem Update verwenden die variablen Expansions Bash Vorformen verursacht zahlreiche Anrufe zu https: //blockchain.informatie te zu kurz eines Zeitrahmens. Sie können Schlaf 120 zwischen der Zuordnung und Anrufen Hinzufügen versuchen, aber das würde sehr langsam sein. 2. die wichtigsten Dinge sind, lokale Zählung $ Checking (Bitcoin-cli getblockcount) und einen bekannten Knoten $ Checking (wget -q -O – http: //blockchain.informatie/q/getblockcount) und der lokalen Sync-Zustand $ Checking (bitcoin -cli getblocktemplate)

So kombinieren die Blockchain von Ihrem Knoten zu einer anderen te einer Zeile

Die letzten oben ist wahrscheinlich das Beste für scripting spil das verkeersopstopping spart kann nach innen nur für die Zahl gelesen werden oder das letzte Mal modifide wasgoed.

Tatsächlich ist der juist Funktionsaufruf dort gezeigt wird, @BinaryMage, danke.

möglich Duplikat Wenn zum ersten Mal die blockchain Herunterladen, wie kann ich wissen, wenn es fertig ist? – BinaryMage April Four ’13 bei 00.50

Die Person, die juist Funktion zu präsentieren wasgoed @LoHoris jedoch die Updates Knoten Software Bitcoin jetzt nutzt Bitcoin-cli getblocktemplate und bitcoind nicht für These Lookups.

Dank beiden ist es möglich, dass Sie alle eine Kombination aus beiden Antworten in ein Kontrolleur Skript, bereit für Ihre Anpassung und Aktualisierung für das Jahr 2015 zu verpackende opoffering

Dieses Skript prüft sehr zunächst den uitgang Status von Bitcoin-cli getblocktemplate weil etwas anderes als 0 ist in der Regel einen Fehler, es wird die anderen Teile nur, wenn Bitcoin-cli getblocktemplate zeigt einen Fehler laufen. Natürlich ist es möglich, spezifische Fehlercodes statt zu prüfen und die Dinge für spezifische Fehlercodes tun. aber das funktioniert gut spil Vorlage für mij wenn BTC Knoten Einrichten ter eine Made Umgebung. Die anderen Kontrollen vergleichen dann lokale Blockzählbereich Verse https: //blockchain.informatie und druckt, wie viele Blöcke Ihr System ausgeschaltet ist. Thesis laufen nur, wenn die lokale Kontrolle der Synchronisierungsstatus Fehler heraus so, wenn Sie auf ein langsamer sind wie @ Steven Roose erwähnt dann dieses Skript ideal ist.

In der Standardeinstellung ist die Wartezeit dazwischen Schecks 600 Sekunden (zehn Menuette) Netzwerk überprüft und lokale Kontrollen zu einem ondergrens zu halten, aber für die Protokollierung und besseres Ressourcenmanagement es mühelos genug ist, die während auszukommen, tun und getan und Schlaf $ timed_wait Linien. Und fügen Sie eine Zeile auf einem Zeitplan zu erreichen, crontab laufen. Zuletzt das Ende des Skripts ändern Ausgabe an einen opstopping zu schreiben.

Die Funktion modifiziert,

Und alle zehn Menuette laufen

Dann aktivieren Sie die Protokollierung des Anrufs ändern, die alles, was im Skript beginnt,

Hoffentlich akzeptabel genug von einer Antwort auf diese Frage ist SPIL zu markieren [gelöst], so dass zukünftige Websucher eine leichtere Zeit dafür haben.

Ein bisschen hacky, aber die Debug-Webstuhl zeigt Ihre "Fortschritt" spil weit spil bitcoind ist besorgt.

Gibt Ihnen so etwas wie

Te diesem Fall, ich bin 98 procent "erledigt".

Werfen Sie das Skript unten in die /huis/$USER/.bashrc verkeersopstopping und starten Sie Ihren Shell.

blockChain = `wget -O – http: // blockchain.informatie / q / getblockcount`

blockDiff = `expr $ blockChain – $ blockCount`

geluidsweerkaatsing "auf dem Laufenden"

geluidsweerkaatsing "$ BlockDiff Blöcke hinter"

Dann, wenn Sie die Richtlinie ausführen

Sie wird mit der Anzahl der Blöcke links bereitgestellt werden, um zu synchronisieren,

oder wenn Ihr Kunde auf dem neuesten Stand ist, wird es Sie wissen lassen.

Auch wenn Sie nicht Ihre Shell neu starten möchten können Sie einfach die Anweisung ausführen

und es wird das gleiche tun.

Nicht Zeugen keine triviale Antworten hier. Hier ist, was ich tat.

Verwenden API-Aufruf "getblockchaininfo" Parameter "verificationprogress" wird sein

= 1,0, wenn Sie synchronisiert.

Achtung: Dies zeigt sich auf Zeit basieren, müssen Sie Ihre Uhr etwas genau sein.

Ich überprüfe, dass es >= 0,999, um zu bestimmen, ob i te sync bin.

Mehr rudimentär, aber nützlich wissen, ob die Brieftasche synchronisiert ist oder nicht

Durch die Richtungen mit:

  • "Informationen bekommen" (Geben Sie Ihre aktuelle Blockhöhe)
  • "getpeerinfo" (Gibt die Blockhöhe bei der "startingheight" Feld für jede Verbindung).

Dann können Sie easly Werte vergleichen und herauszufinden, wie viele procent Sie sind für die blockchain herunterzuladen.

Ähnlicher Film: Free Bitcoins – Bitcoin Generator – Mit Proof [2018]


Leave a Reply

Your email address will not be published. Required fields are marked *

*