Gibt es ein Skript für den Bitcoin-Kern, das alle verbrauchbaren UTXOs druckt, wenn ein privater Seed vorhanden ist?

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?

Antworten (3)

Sie können einen Deskriptor bestehend aus xpriv(s)(oder xpub(s)wenn Sie nur die Coins beobachten möchten) in die bitcoindBrieftasche 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 importmultiRPC-Aufruf in Versionen <0.21 und den importdescriptorsRPC 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.

Danke, dem werde ich nachgehen. Ursprünglich wollte ich die Verwendung von Bitcoin Wallet vermeiden und suchte nach einer leichten Lösung, die eine Reihe von HD-Wallet-PKHs erstellt und die vollständige UTXO-Datenbank nach Übereinstimmungen durchsucht (obwohl dies nicht Teil der Bitcoin-Kern-API ist, kann dies lokal durchgeführt werden).

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).

Sieht interessant aus, aber ich habe die beschriebene Funktionalität in den Beispielen nicht gesehen. Ich wollte auch ausdrücklich alles lokal erledigen und Rückfragen an Dritte vermeiden

Sie können die Offenlegung Ihrer privaten Schlüssel vermeiden und die Adressen einfach mit scanutxooutsetin 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)"}]'