bitcoin

btcd、btcl、btcwallet的启动与交互

2019-08-22  本文已影响0人  链人成长chainerup

上文中,我们讲解了btcd跟btcwallet在Mac上的安装,本文我们将讲解它们的启动与交互。

1 启动btcd

如上文所述,启动过程如下:

btcd --simnet --rpcuser=rpcuser --rpcpass=rpcpass --rpclisten=0.0.0.0:18556 --listen=0.0.0.0:18555

其中:

启动服务之后,是这个样子的:


btcd启动.png

2 启动btcwallet

2.1 首先要创建一个钱包

btcwallet --simnet --create

结果如下:


alreadyExists.png

这个图表示已经有了钱包,我们可以先把钱包数据删了,然后重新创建。
Mac下数据在如下这个目录存放,删掉里面的wallet.db即可。

~/Library/Application\ Support/Btcwallet/simnet/

我们再次执行

btcwallet --simnet --create

首先是让我们输入私钥短语。


privatePhrase.png

记号这个短语,后面在钱包操作解锁时会用到。这儿我默认填了"root"。
接下来会问

Do you want to add an additional layer of encryption for public data? (n/no/y/yes) [no]:

就是跟公钥数据加个层,默认选择no
接下来是问你是否使用已有的seed?

Do you have an existing wallet seed you want to use? (n/no/y/yes) [no]:

默认选择no.
接下来生成了seed, 这个是生成私钥时使用的,一定要记录就好哦,要把它放在一个安全的地方,没有了seed , 一切都不是你的了。不过测试系统无所谓。系统比较人性化,会问你是否存好?

Once you have stored the seed in a safe and secure location, enter "OK" to continue:

直接输入OK即可。
等一小会,钱包就创建好了。整个交互过程看下图。


walletCreate.png

2.2 钱包启动

前面已经完成了btcd的启动,btcwallet的创建,下面新开一个窗口,启动钱包服务。指令如下:

btcwallet --simnet --username=rpcuser --password=rpcpass
  • 启动钱包自身的rpc服务,供btcctl使用
  • 链接BTC的节点
  • 跟BTC进行交互,为了统计当前钱包所包含地址的余额。

截图是这样的:


connectBtcSuccess

如果是授权失败呢?先看截图:


connectBtcFail

只做了一个钱包自身RPC服务的启动,然后去链接BTC的节点,但是一直没有得到响应。那我们看下我们已经启动的BTC窗口上输出了什么呢?


image.png
授权失败。

3 使用btcctl 交互

上述两部分其实也简单提到了btcctl, 其实你可以认为它就是个cmd 客户端,啥主要逻辑也没干。支持btc指令操作跟btcwallet指令操作。如果指令中带着“--wallet”就说明是调用btcwallet, 不带则是操作btc节点。其核心逻辑就是根据是否带有"--wallet" 去判断是调用btcRpc 服务,还是btcwalletRpc服务。jsonRpc服务哦~后面我们也会有专门的一节讲解btcctl的启动过程,跟解析指令的过程。
本文中先看一个简单操作吧。(保证前面的BTCD、btcwallet窗口都打开,且服务启动哦~,然后新开一个窗口操作btcctl)
操作钱包的指令举例:


image.png

操作btcd节点的指令举例:


image.png

如果后续有时间,会有一系列的文章去讲解btcctl 每个指令背后对应的逻辑是什么。如果要查看btcctl支持哪些指令,可以使用如下指令:

btcctl --simnet --rpcuser=rpcuser --rpcpass=rpcpass -l

4 总结

本文讲解了btcd、btcwallet的启动,以及使用btcctl跟btcd、btcwallet进行交互的简单操作。希望对你有用。

5 参考文献

btcd simnet(模拟环境下)单节点与双节点的运行

6 其他

本文是《循序渐进比特币》的第二篇-《btcd、btcl、btcwallet的启动与交互》。
如果有疑问,可以直接留言,也可以关注公众号 “链人成长chainerup” 提问留言,或者加入知识星球“链人成长”~

上一篇 下一篇

猜你喜欢

热点阅读