Ich suche nach einem Open-Source-Skript oder einer Anwendung, die dem Benutzer einen privaten Brieftaschenschlüssel (aus der Terminaleingabe oder -datei, als mnemonische oder xpriv-Zeichenfolge) entnimmt und dann eine Verbindung zu einem Bitcoin herstellt und alle UTXOs ausgibt, die im Besitz (verbrauchbar) von sind dieser Schlüssel. Gibt es so etwas?
Sie können einen Deskriptor bestehend aus xpriv(s)
(oder xpub(s)
wenn Sie nur die Coins beobachten möchten) in die bitcoind
Brieftasche importieren und dann die Blockchain erneut nach Transaktionen mit abgeleiteten Schlüsseln bis zu einem konfigurierten Lückenlimit scannen.
Verwenden Sie zum Importieren des Deskriptors den importmulti
RPC-Aufruf in Versionen <0.21 und den importdescriptors
RPC ab 0.21 (in Vorbereitung).
Beide Aufrufe ermöglichen es Ihnen, einen Erstellungszeitstempel zu übergeben, um die Blockchain von diesem Punkt an erneut zu scannen. Andernfalls können Sie manuell anrufen rescanblockchain
.
Beachten Sie, dass es je nach Anzahl der Blöcke, die Sie scannen, einige Zeit dauern wird. Sie können den Fortschritt in Ihrer debug.log
.
Diese Python-Bibliothek kommt dem nahe (Haftungsausschluss: Ich habe es geschrieben). Es unterstützt HD-Wallets über Mnemonik oder xprv und Sie können Ausgaben von Adressen abfragen, es fragt jedoch einen Block-Explorer nach den Ausgaben anstelle von Bitcoin ab (Sie können den Code wahrscheinlich optimieren, um den API-Aufruf durch einen RPC-Aufruf zu ersetzen).
Sie können die Offenlegung Ihrer privaten Schlüssel vermeiden und die Adressen einfach mit scanutxooutset
in der Konsole oder über JSON-RPC überprüfen. Obwohl es einige Minuten dauert, müssen Sie nicht auf einen vollständigen erneuten Scan warten und es ist einfach, alle UTXOs für jede Adresse oder sogar xpub zu erhalten, und es muss sich nicht bereits in Ihrer Brieftasche befinden, wie beim Importieren von Schlüsseln.
Beispiel in der Konsole:
scantxoutset start '[{"desc":"addr(1SomeAddress)"},{"desc":"addr(1AnotherAddressToCheck)"}]'
oder das Überprüfen von xpubs würde ungefähr so aussehen:
scantxoutset start '[{"desc":"pkh(xpubMyXpubToCheck)"}]'
Delorean88