Bip32-Hd-Wallets

有沒有一種工具可以在給定主公鑰的情況下生成地址?

  • August 3, 2017

我有我錢包的主公鑰,我想生成地址但不使用我目前的錢包。有沒有這樣的工具?

查看libbtc( <https://github.com/libbtc/libbtc> ),一旦編譯,您將獲得一個名為bitcointool.

libbtc 無需外部依賴即可編譯(--disable-net如果您不需要基於 libevent 的 p2p 網路功能,請使用它進行編譯)。

然後你可以從你的主人那裡得到一個子密鑰,比如……

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

(也應該適用於公鑰推導)

也許檢查文件:https ://github.com/libbtc/libbtc#the-bitcointool-cli

我編寫了兩個可以從主公鑰派生地址的工具。

hd-wallet-addrs:旨在查找所有實際使用過的地址(收到的硬幣)。但它也可以通過使用 –gen-only 標誌從 xpub 進行簡單派生。此工具將自動查找接收地址和更改地址。

hd-wallet-derive:針對簡單的 xprv/xpub 派生。當您擁有主 xprv 並且想要查找所有派生的 xprv、privkey/wif、xpub、地址,或者您需要使用自定義派生路徑時,此工具最適合。

您的案例的 hd-wallet-addrs 範例:

注意:使用 –gen-only=3 標誌,以防止區塊鏈查找並生成 3 個接收地址和 3 個更改地址。

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

+------------------------------------+---------+---------+
| 地址 | 類型 | 相對路徑 |
+------------------------------------+---------+---------+
| 1Ge6rDuyCdYVGhXZjcK4251q67GXMKx6xK | 接收 | 0/0 |
| 1NVsB73WmDGXSxv77sh9PZENH2x3RRnkDY | 接收 | 0/1 |
| 1BkgqiHcvfnQ2wrPN5D2ycrvZas3nibMjC | 接收 | 0/2 |
| 12SisoiXLUEbkytL5Pzia1jBY8gJP5XN8D | 改變 | 1/0 |
| 1CkvACVpFwkPnMG13w9kXXE9YcsiyL4pcY | 改變 | 1/1 |
| 18EmV6cYjVmK3SQshZc92CdD9ByHDdf39v | 改變 | 1/2 |
+------------------------------------+---------+---------+

您的案例的 hd-wallet-derive 範例:

注意:我們執行腳​​本兩次,一次用於接收地址,一次用於更改地址。–path 參數控制它。–cols 參數用於隱藏我們不關心的列。

$ ./hd-wallet-derive.php -g --key=xpub6BfKpqjTwvH21wJGWEfxLppb8sU7C6FJge2kWb9315oP4ZVqCXG29cdUtkyu7YQhHyfA5nt63nzcNZHYmqXYHDxYo8mm1Xq1dAC7YtodwUR --cols=3,relpath --path=0 --numderive
+------------------------------------+---------+
| 地址 | 相對路徑 |
+------------------------------------+---------+
| 1Ge6rDuyCdYVGhXZjcK4251q67GXMKx6xK | 0/0 |
| 1NVsB73WmDGXSxv77sh9PZENH2x3RRnkDY | 0/1 |
| 1BkgqiHcvfnQ2wrPN5D2ycrvZas3nibMjC | 0/2 |
+------------------------------------+---------+
$ ./hd-wallet-derive.php -g --key=xpub6BfKpqjTwvH21wJGWEfxLppb8sU7C6FJge2kWb9315oP4ZVqCXG29cdUtkyu7YQhHyfA5nt63nzcNZHYmqXYHDxYo8mm1Xq1dAC7YtodwUR --cols=3,relpath --path=1 --numderive
2017-08-03T10:19:04-07:00 [pid: 28708] [info] -- 生成地址
+------------------------------------+---------+
| 地址 | 相對路徑 |
+------------------------------------+---------+
| 12SisoiXLUEbkytL5Pzia1jBY8gJP5XN8D | 1/0 |
| 1CkvACVpFwkPnMG13w9kXXE9YcsiyL4pcY | 1/1 |
| 18EmV6cYjVmK3SQshZc92CdD9ByHDdf39v | 1/2 |
+------------------------------------+---------+

引用自:https://bitcoin.stackexchange.com/questions/49544