¿Existe un script para el núcleo de bitcoin que imprima todos los UTXO gastables con una semilla privada?

Estoy buscando una secuencia de comandos o una aplicación de código abierto que tome una clave de billetera privada del usuario (desde la entrada o el archivo de la terminal, como una cadena mnemotécnica o xpriv) y luego se conecte a un bitcoind y genere todos los UTXO que son propiedad (prescindible) de esa llave Algo como eso existe?

Respuestas (3)

Puede importar un descriptor compuesto por xpriv(s)(o xpub(s)si solo desea ver las monedas) a la bitcoindbilletera y luego volver a escanear la cadena de bloques en busca de transacciones que involucren una clave derivada hasta un límite de espacio configurado.

Para importar el descriptor, use la importmultillamada RPC en las versiones <0.21 y la importdescriptorsRPC a partir de la 0.21 (próximamente).

Ambas llamadas le permiten pasar una marca de tiempo de creación para volver a escanear la cadena de bloques desde este punto. De lo contrario, puede llamar manualmente a rescanblockchain.
Tenga en cuenta que, dependiendo de la cantidad de bloques que esté escaneando, llevará algún tiempo. Puede monitorear el progreso en su archivo debug.log.

Gracias, investigaré eso. Inicialmente, quería evitar el uso de la billetera bitcoind y estaba buscando una solución liviana que construyera un conjunto de PKH de billetera HD y escaneara la base de datos UTXO completa en busca de coincidencias (aunque eso no es parte de la API central de bitcoin, se puede hacer localmente)

Esta biblioteca de python se acerca (descargo de responsabilidad: lo escribí). Admite carteras HD a través de mnemónico o xprv y puede consultar las salidas de las direcciones, sin embargo, consulta un explorador de bloques para las salidas en lugar de bitcoind (probablemente pueda modificar el código para reemplazar la llamada API con una llamada rpc)

Parece interesante, pero no vi la funcionalidad descrita en los ejemplos. También quería hacer todo localmente y evitar consultas a un tercero.

Puede evitar arriesgarse a exponer sus claves privadas y simplemente verifique las direcciones scanutxooutseten la consola o mediante JSON-RPC. Aunque lleva unos minutos, no tiene que esperar a que se vuelva a escanear por completo y es fácil obtener todos los UTXO para cualquier dirección o incluso xpub y no tiene que estar ya en su billetera como cuando importa claves.

Ejemplo en la consola:

scantxoutset start '[{"desc":"addr(1SomeAddress)"},{"desc":"addr(1AnotherAddressToCheck)"}]'

o verificar xpubs se vería así:

scantxoutset start '[{"desc":"pkh(xpubMyXpubToCheck)"}]'