功能介绍
模拟两个节点,构建简单比特币网络。模拟两个节点的查帐、转帐、挖矿操作。
0. 测试环境
- 使用docker进行测试,里面包含了常用的命令,并且进行了封装
-
- 自己构建环境,安装bitcoind\bitcoin-cli等命令
以下使用docker环境进行测试
1. 启动测试的容器
docker run -t -i -p 19001:19001 -p 19011:19011 freewil/bitcoin-testnet-box
2. 创建两个节点
make start
命令会转换成bitcoin-cli的命令,这里只是简写了一下
3. 查看两个节点钱包状态
bitcoin-cli -datadir=1 getwalletinfo #查看节点1的状态
bitcoin-cli -datadir=2 getwalletinfo #查看节点2的状态
这里不用make,是因为makefile的封装遇到了版本问题
4. 模拟挖矿 - 使网络生次
新网络要先创建100个区块,才能使网络生效
make generate BLOCKS=100
使用节点1进行的挖矿
5. 正式挖矿
make generate
节点1挖矿一次,获取50个比特币
bitcoin-cli -datadir=1 getwalletinfo
查询节点1的余额为50BTC
6. 给节点2转帐
-
创建节点2帐户地址
make address2
-
节点1给节点2转帐
make sendfrom1 ADDRESS={上一步获取到的节点2地址} AMOUNT=10
查看节点余额,会发现帐户2未收到币,是因为交易还未写入区块
-
将交易写入区块(任意节点挖矿即可)
make generate
-
查看节点余额,币已经到帐
bitcoin-cli -datadir=1 getwalletinfo bitcoin-cli -datadir=2 getwalletinfo
节点2余额为10BTC。
节点1转帐后剩余40BTC,节点1又挖矿一次获取50BTC,节点1余额为:90BTC。会扣除一小部分的手续费。