Ich denke vielleicht zu viel darüber nach, aber ich versuche herauszufinden, wie ich am besten einen nicht ausgegebenen Ausgabepool aufbauen kann. Sollte ich einfach naiv jeden Block parsen? Jede Eingabe wird aus dem Hash-Set entfernt und jede Ausgabe wird wieder hinzugefügt? Scheint schrecklich ineffizient. Die Sache ist, dass es anscheinend sowieso nicht möglich ist, diesen Utxo-Pool genau zu erstellen, ohne die Blockkette mindestens einmal zu durchlaufen und zu erstellen. Gibt es eine gut definierte Abkürzung, die ich beachten sollte? Hinweise willkommen.
Ich denke, ich kann zuerst die Blöcke auf der Festplatte durchlaufen und dann aktualisieren, wenn Blöcke eintreffen.
Es gibt bereits einen Pool mit den Informationen, die Sie zu bauen bereit sind: the UTXO set
. Sie können darauf zugreifen, indem Sie die LevelDB abfragen, die sich in .bitcoin/chainstate
einem vollständigen Knoten befindet.
Es gibt jedoch keine einfache Möglichkeit, dies mit RPC-Befehlen zu tun, Sie sollten die Informationen selbst extrahieren.
Ich kann Ihnen bei Bedarf eine Möglichkeit dazu bieten und eine ausführliche Erklärung dessen, was Sie in jedem Eintrag der LevelDB finden werden.
chainstate
ist nur der Index der vollständigen KetteSie können das UTXO-Set direkt von Bitcoin mit einem listunspent
RPC-Aufruf erhalten.
Es gibt keinen einfachen Weg, das zu bekommen, was Sie wollen, außer auf dem Weg, den Sie zu beschreiben versuchen.
RPC hat keinen Befehl von dem, was Sie wollen, unterstützt.
Wenn Sie UTXOs benötigen, müssen Sie jede *.dat
Binärdatei von Anfang an der Reihe nach zerlegen und jede Ausgabe aufbewahren, um zukünftige Ausgaben zu überprüfen.
Folgendes hat für mich in einem Bash-Befehlsfenster funktioniert:
curl https://blockchain.info/unspent?active=place_bitcoin_address_here
David Schwarz
Matt
Benutzer13413
T9b
Richard