《精通比特币》(第二版) – 附录F、比特币浏览器命令

来源:https://github.com/tianmingyun/MasterBitcoin2CN/blob/master/appdx-bx.md

Bitcoin Explorer(bx)是一个命令行工具,提供了各种用于密钥管理和交易构建的命令。 它是libbitcoin比特币库的一部分。

Usage: bx COMMAND [--help]


Info: The bx commands are:


address-decode
address-embed
address-encode
address-validate
base16-decode
base16-encode
base58-decode
base58-encode
base58check-decode
base58check-encode
base64-decode
base64-encode
bitcoin160
bitcoin256
btc-to-satoshi
ec-add
ec-add-secrets
ec-multiply
ec-multiply-secrets
ec-new
ec-to-address
ec-to-public
ec-to-wif
fetch-balance
fetch-header
fetch-height
fetch-history
fetch-stealth
fetch-tx
fetch-tx-index
hd-new
hd-private
hd-public
hd-to-address
hd-to-ec
hd-to-public
hd-to-wif
help
input-set
input-sign
input-validate
message-sign
message-validate
mnemonic-decode
mnemonic-encode
ripemd160
satoshi-to-btc
script-decode
script-encode
script-to-address
seed
send-tx
send-tx-node
send-tx-p2p
settings
sha160
sha256
sha512
stealth-decode
stealth-encode
stealth-public
stealth-secret
stealth-shared
tx-decode
tx-encode
uri-decode
uri-encode
validate-tx
watch-address
wif-to-ec
wif-to-public
wrap-decode
wrap-encode

更多信息参见Bitcoin Explorer homepage 和 Bitcoin Explorer user documentation

bx命令使用示例

我们来看一些使用Bitcoin Explorer命令来测试密钥和地址的例子。

使用种子命令生成随机“种子”值,该种子命令使用操作系统的随机数生成器。 将种子传递到ec-new命令以生成新的私钥。 我们将标准输出保存到文件private_key中:

$ bx seed | bx ec-new > private_key
$ cat private_key
73096ed11ab9f1db6135857958ece7d73ea7c30862145bcc4bbc7649075de474

现在,使用ec-to-public命令从私钥生成公钥。 我们将private_key文件传递到标准输入并将命令的标准输出保存到新文件public_key中:

$ bx ec-to-public < private_key > public_key
$ cat public_key
02fca46a6006a62dfdd2dbb2149359d0d97a04f430f12a7626dd409256c12be500

我们可以使用ec-to-address命令将public_key重新格式化为一个地址。 我们将public_key传递给标准输入:

$ bx ec-to-address < public_key
17re1S4Q8ZHyCP8Kw7xQad1Lr6XUzWUnkG

以这种方式产生的密钥产生零型非确定性钱包。 这意味着每个密钥都是由一个独立的种子生成的。 Bitcoin Explorer命令也可以根据BIP-32确定性地生成密钥。 在这种情况下,从种子创建“主”键,然后确定性地扩展以产生一个子项的树,从而产生一个2类确定性钱包。

首先,我们使用seed和hd-new命令生成一个主密钥,该密钥将被用作导出密钥层次结构的基础:

$ bx seed > seed
$ cat seed
eb68ee9f3df6bd4441a9feadec179ff1


$ bx hd-new < seed > master
$ cat master
xprv9s21ZrQH143K2BEhMYpNQoUvAgiEjArAVaZaCTgsaGe6LsAnwubeiTcDzd23mAoyizm9cApe51gNfLMkBqkYoWWMCRwzfuJk8RwF1SVEpAQ

我们现在使用hd-private命令在帐户中生成一个强化的“帐户”键和两个私钥序列:

$ bx hd-private --hard < master > account
$ cat account
xprv9vkDLt81dTKjwHB8fsVB5QK8cGnzveChzSrtCfvu3aMWvQaThp59ueufuyQ8Qi3qpjk4aKsbmbfxwcgS8PYbgoR2NWHeLyvg4DhoEE68A1n


$ bx hd-private --index 0 < account
xprv9xHfb6w1vX9xgZyPNXVgAhPxSsEkeRcPHEUV5iJcVEsuUEACvR3NRY3fpGhcnBiDbvG4LgndirDsia1e9F3DWPkX7Tp1V1u97HKG1FJwUpU


$ bx hd-private --index 1 < account
xprv9xHfb6w1vX9xjc8XbN4GN86jzNAZ6xHEqYxzbLB4fzHFd6VqCLPGRZFsdjsuMVERadbgDbziCRJru9n6tzEWrASVpEdrZrFidt1RDfn4yA3

接下来,我们使用hd-public命令来生成两个公钥的相应序列:

$ bx hd-public --index 0 < account
xpub6BH1zcTuktiFu43rUZ2gXqLgzu5F3tLEeTQ5t6iE3aQtM2VMTxMcyLN9fYHiGhGpQe9QQYmqL2eYPFJ3vezHz5wzaSW4FiGrseNDR4LKqTy


$ bx hd-public --index 1 < account
xpub6BH1zcTuktiFx6CzhPbGjG3UYQ13WR16CmtbPiagEKpEVtpyjshWyMaMV1cn7nUPUkgQHPVXJVqsrA8xWbGQDhohEcDFTEYMvYzwRD7Juf8

公钥也可以使用hd-to-public命令从其相应的私钥派生:

$ bx hd-private --index 0 < account | bx hd-to-public
xpub6BH1zcTuktiFu43rUZ2gXqLgzu5F3tLEeTQ5t6iE3aQtM2VMTxMcyLN9fYHiGhGpQe9QQYmqL2eYPFJ3vezHz5wzaSW4FiGrseNDR4LKqTy


$ bx hd-private --index 1 < account | bx hd-to-public
xpub6BH1zcTuktiFx6CzhPbGjG3UYQ13WR16CmtbPiagEKpEVtpyjshWyMaMV1cn7nUPUkgQHPVXJVqsrA8xWbGQDhohEcDFTEYMvYzwRD7Juf8

我们可以在确定性链中产生几乎无限数量的密钥,全部来源于单个种子。 这种技术用于许多钱包应用程序中以生成可以使用单个种子值进行备份和恢复的密钥。 每次创建一个新的密钥时,这比将其所有随机生成的密钥备份在一起更容易。

可以使用助记符编码命令对种子进行编码:

$ bx hd-mnemonic < seed > words
adore repeat vision worst especially veil inch woman cast recall dwell appreciate

然后可以使用mnemonic-decode命令对种子进行解码:

$ bx mnemonic-decode < words
eb68ee9f3df6bd4441a9feadec179ff1

助记符编码可以使种子更容易记录甚至记住。

主题测试文章,只做测试使用。发布者:web3free,转转请注明出处:https://web3free.club/?p=2528

(0)
web3freeweb3free
上一篇 2024年12月21日 上午7:39
下一篇 2025年2月7日 上午11:02

相关推荐

  • 比特幣跌到八萬三怎麼辦? #BTC

    https://www.youtube.com/watch?v=3Z_jBOBB3h4 https://cointelegraph.com/news/bybit-hack-forensics-show-safe-wallet-compromise-led-to-stolen-funds https://cointelegraph.com/news/bybit…

    2025年2月27日
    00
  • 《精通比特币》(第二版) – 原版序言

    关于本书 我第一次偶遇比特币是在2011年年中,当时的反应大概是“哈!书呆子的钱嘛!”因为没能领会它的重要性,我忽视它长达六个月之久,而让我稍感宽慰的是,许多我认识的一些聪明绝顶的人也是这种反应。在一次邮件列表讨论时,我再次接触到了比特币,于是决定阅读中本聪(Satoshi Nakamoto)写的白皮书,研究比特币的权威解释,看看到底是怎么一回事。我仍记得刚…

    2025年2月7日
    00
  • 《精通比特币》(第二版) – 中文版序言

    送你一把打开区块链世界大门的钥匙——《精通比特币第二版》序言 2008年比特币诞生,原本只是一个密码学极客之间的玩物,没想到犹如打开的潘多拉盒子,慢慢席卷全球。在08年以前还没有人能成功地研发出一个运行良好的数字货币出来,直到比特币问世;另外,区块链作为比特币的底层技术,在此之前也是闻所未闻。那么区块链到底有什么魔力,让整个世界为之疯狂呢? 相信很多初学者都…

    2025年2月7日
    00
  • 《精通比特币》(第二版) – 译者序

    郎咸平说过:比特币白给我都不要 巴菲特:比特币是泡沫,不是一种能够生产价值的资产 紫色的股:为什么说比特币是典型的泡沫 …… 也有人说,区块链是最伟大的发明,堪比互联网。 到底比特币是什么?如何判断?难道我们能做的就是人云亦云? 如何能有自己的独立判断? 每个人都有自己的“全知遮蔽”,就像每个人都看不见自己的后脑勺一样。在自己的视野内…

    2025年2月7日
    00
  • 《精通比特币》(第二版) – 第二版更新内容

    第1章 –什么是比特币 更新了比特币的发展历史 更多的使用者案例和更新 更多比特币用户和客户端的示例 更新了如何获取、使用和花费比特币的教程 第2章 – 比特币的原理 很多小的改变、更新和改进 第3章 – 比特币客户端 改进并更新了示例与代码 配置选项和示例 运行比特币节点 更新的库文件 第4章 – 密钥和地址 很多小的改进 改进与新增图表 第5章 – 钱包…

    2025年2月7日
    00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

在线咨询: QQ交谈

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
自6.2开始主题新增页头通知功能,购买用户可免费升级到最新版体验