首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

玩转比特币私链

比特币的发展史在网上很多,比特币的价格犹如过山车,这里不再敖述。比特币最大的价值在于把区块链系统引入了大众视野,引领了全世界对区块链的探索。

在比特币的大系统里存在三个独立的网络链系统:比特币主链系统、测试链系统、回归测试链系统。

a、主链系统的启动和加入主链很简单,直接编译源码,启动后会通过内置的地址去寻找其他节点。

b、测试链系统的启动比主链多了一个命令行选项,需要加上“-testnet”。启动后,它也会根据内置其他节点地址去P2P学习链接其他节点。

c、回归测试链系统常用来做开发调试使用,也就是这儿所说的“私链”,它的启动也比主链多了一个命令行选项,需要加上“-regtest”。

这儿主要介绍测试回归链的使用,在正式介绍测试回归链前,先介绍比特币系统里一个非常重要的概念,“在比特币的系统里没有真正账号,里面的账号只是个label;没有BTC余额的,有的只是UTXO”。

下面开始介绍测试回归链的使用:

1、编译安装比特币源码

github地址:“https://github.com/bitcoin/bitcoin”。社区主版本只有C++版权,其他语言版本,全是非社区的主版本,具体的编译安装过程不再详述。

2、配置"bitcoin.conf"

在比特币数据存储路径,如果没有指定“-datadir”,默认是HOME路径“.bitcoin”下配置“bitcoin.conf”文件,如果不存在该文件,在bitcoin/contrib/debian/examples存在这个文件的模板,在这个文件里主要配置两类选项:RPC用户名、密码和RPC地址、接收地址,如下图所示:

当然不配置这些选项,直接在命令行参数指定也是可以的。

3、启动比特币全节点钱包

执行“./bitcoind -datadir=data-server -regtest –printtoconsole”,如下图所示:

到此,一个比特币私链搭建已经完成了,接下来开始玩这个私链。

4、执行系统命令

通过“bitcoin-cli”执行系统相关命令,需要注意的是,bitcoin-cli和bitcoind使用同一个目录下的bitcoin.conf,在执行bitcoin-cli时同样需要加上指定的数据路径,当然也可以用命令行指定。具体实例如下:

4.1 创建账号:

./bitcoin-cli -datadir=data getnewaddress"account"

account: 账号名,本质是个label,多个地址可以用一个label。如果不 设置默认为””。

4.2 加密钱包

./bitcoin-cli -datadir=data encryptwallet"phrase"

phrase: 密码,任意字符串。

4.3 解密钱包

./bitcoin-cli -datadir=datawalletpassphrase "phrase" time

phrase: 钱包密码;

time:钱包解锁时间,单位:秒(s)。

4.4 挖矿/生成区块

./bitcoin-cli-datadir=data generatetoaddress nblocks address

nblocks:生成的区块数,

address:生成区块的地址。

注意:在回归测试模式中,前100个块是拿不到BTC的,需要生成第101个块的时候,才有BTC。

4.5 列举账号

./bitcoin-cli-datadir=data listaccounts

4.6 获取账号地址

./bitcoin-cli-datadir=data getaccountaddress "account"

account:账号名,本质是个label

4.7 查询账号资产

./bitcoin-cli-datadir=data getbalance "account"

account:账号名,本质是个label

4.8 获取区块高度

./bitcoin-cli-datadir=data getblockcount

4.9 转账

./bitcoin-cli-datadir=data sendfrom "fromaccount" "toaddress" amount

fromaccount:转账账号

toaddress:收账地址

amount:转账额度

更多的命令可以通过./bitcoin-cli -datadir=data help命令获取,这个帮助命令并不能显示完整所有的命令选项,这儿有点小bug。所有的命令可以通过./bitcoin-cli -datadir=datahelp 获取命令参数。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180718G0ZXCT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券