¿Existe una herramienta para producir direcciones dada una clave pública maestra?

Tengo clave pública maestra de mi billetera y quiero generar direcciones pero sin usar mi billetera actual. ¿Hay alguna herramienta que haga eso?

Respuestas (3)

Consulte libbtc( https://github.com/libbtc/libbtc ), una vez compilado, obtiene una aplicación de línea de comando llamada bitcointool.

libbtc compila sin dependencias externas (compile con --disable-netsi no necesita funciones de red p2p basadas en libevent).

A continuación, puede derivar una subclave de su maestro con algo como...

./bitcointool -command hdderive -keypath m/1 -privkey xprv9s21ZrQH143K3C5hLMq2Upsh8mf9Z1p5C4QuXJkiodSSihp324YnWpFfRjvP7gqocJKz4oakVwZn5cUgRYTHtNRvGqU5DU2Gn8MPM9jHvfC

(también debería funcionar para la derivación de clave pública)

Tal vez consulte los documentos: https://github.com/libbtc/libbtc#the-bitcointool-cli

He escrito dos herramientas que pueden derivar direcciones de la clave pública maestra.

hd-wallet-addrs : destinado a encontrar todas las direcciones que realmente se han utilizado (monedas recibidas). Pero también puede hacer una derivación simple de xpub usando el indicador --gen-only. Esta herramienta encontrará automáticamente tanto las direcciones de recepción como las de cambio.

hd-wallet-derive : dirigido a la derivación simple de xprv/xpub. Esta herramienta es mejor para cuando tiene un xprv maestro y desea encontrar todos los xprv, privkey/wif, xpub, direcciones derivadas, o necesita usar una ruta de derivación personalizada.

Ejemplo de hd-wallet-addrs para su caso de uso:

nota: se usa el indicador --gen-only=3 para evitar búsquedas en blockchain y generar 3 direcciones de recepción y 3 direcciones de cambio.

$ ./hd-wallet-addrs.php -g --xpub=xpub6BfKpqjTwvH21wJGWEfxLppb8sU7C6FJge2kWb9315oP4ZVqCXG29cdUtkyu7YQhHyfA5nt63nzcNZHYmqXYHDxYo8mm1Xq1dAC7YtodwUR --gen-only=3

+---------------------------+---------+-- -------+
| dirección | tipo | relajar |
+---------------------------+---------+-- -------+
| 1Ge6rDuyCdYVGhXZjcK4251q67GXMKx6xK | Recibir | 0/0 |
| 1NVsB73WmDGXSxv77sh9PZENH2x3RRnkDY | Recibir | 0/1 |
| 1BkgqiHcvfnQ2wrPN5D2ycrvZas3nibMjC | Recibir | 0/2 |
| 12SisoiXLUEbkytL5Pzia1jBY8gJP5XN8D | Cambiar | 1/0 |
| 1CkvACVpFwkPnMG13w9kXXE9YcsiyL4pcY | Cambiar | 1/1 |
| 18EmV6cYjVmK3SQshZc92CdD9ByHDdf39v | Cambiar | 1/2 |
+---------------------------+---------+-- -------+

ejemplo hd-wallet-derive para su caso de uso:

nota: ejecutamos el script dos veces, una para recibir direcciones y otra para cambiar direcciones. El --path arg controla esto. El --cols arg se usa para ocultar columnas que no nos interesan.

$ ./hd-wallet-derive.php -g --key=xpub6BfKpqjTwvH21wJGWEfxLppb8sU7C6FJge2kWb9315oP4ZVqCXG29cdUtkyu7YQhHyfA5nt63nzcNZHYmqXYHDxYo8mm1Xq1dAC7YtodwUR --cols=dirección,relderpathive --=ruta=30
+---------------------------+---------+
| dirección | relajar |
+---------------------------+---------+
| 1Ge6rDuyCdYVGhXZjcK4251q67GXMKx6xK | 0/0 |
| 1NVsB73WmDGXSxv77sh9PZENH2x3RRnkDY | 0/1 |
| 1BkgqiHcvfnQ2wrPN5D2ycrvZas3nibMjC | 0/2 |
+---------------------------+---------+
$ ./hd-wallet-derive.php -g --key=xpub6BfKpqjTwvH21wJGWEfxLppb8sU7C6FJge2kWb9315oP4ZVqCXG29cdUtkyu7YQhHyfA5nt63nzcNZHYmqXYHDxYo8mm1Xq1dAC7YtodwUR --cols=dirección,relderpathive --=ruta=3 --num
2017-08-03T10:19:04-07:00 [pid: 28708] [info] -- Generando direcciones
+---------------------------+---------+
| dirección | relajar |
+---------------------------+---------+
| 12SisoiXLUEbkytL5Pzia1jBY8gJP5XN8D | 1/0 |
| 1CkvACVpFwkPnMG13w9kXXE9YcsiyL4pcY | 1/1 |
| 18EmV6cYjVmK3SQshZc92CdD9ByHDdf39v | 1/2 |
+---------------------------+---------+

Si está relacionado con una dirección BIP32 (como la generada por Mycelium, Ledger o Trezor), ingrese la descripción del enlace aquí . El servicio de billetera le permite usar su dirección xpub para derivar direcciones utilizadas anteriormente, aunque no direcciones que no han visto una cadena. transacción todavía.