主页 > imtoken区块链钱包官网 > 使用 Docker 构建比特币私有链
使用 Docker 构建比特币私有链
imtoken区块链钱包官网 2023-10-10 05:11:04
下载镜像
docker pull freewil/bitcoin-testnet-box
运行镜像
docker run -t -i -p 19001:19001 -p 19011:19011 freewil/bitcoin-testnet-box
启动测试网络
make start
启动成功后,会在本地模拟运行两个比特币测试钱包节点,形成私有的比特币测试网络。
输入以下命令查看测试网络节点状态信息:
make getinfo
顺便看看后面两个节点的bitcoin.conf文件是怎么配置的
节点配置文件
节点 1
cat /home/tester/bitcoin-testnet-box/1/bitcoin.conf
节点 2
cat /home/tester/bitcoin-testnet-box/2/bitcoin.conf
顺便查看一下节点1的peer节点信息
bitcoin-cli -datadir=1 getpeerinfo
初始化区块链数据
生成钱包地址
bitcoin-cli -datadir=1 getnewaddress bitcoin-cli -datadir=2 getnewaddress
钱包一:2My51iv4qdBkZrJ5Xd8o523bnihiLqQmZ7m
钱包2:2MxS36F99cMaAiQmjno2beRGYaZXEkEvf6X
查看地址对应的私钥:
bitcoin-cli -datadir=1 dumpprivkey 2My51iv4qdBkZrJ5Xd8o523bnihiLqQmZ7m
注:在正式的比特币网络环境下,平均需要10分钟左右生成一个新区块。 但这里测试网络(testnet)的特殊设置环境下,可以通过简单的命令控制,实时批量生成区块,方便程序开发和测试。
生成一个块:
make generate
生成 9 个块:
make generate BLOCKS=9
查看钱包信息:
bitcoin-cli -datadir=1 getwalletinfo bitcoin-cli -datadir=2 getwalletinfo
结果显示,钱包1的balance(余额)中根本没有比特币16个比特币钱包文件,而immature_balance(未成熟余额)中却有对应的500个比特币。 为什么是这样?
结果显示钱包1和钱包2都有20个区块16个比特币钱包文件,没有问题,那么为什么钱包1的余额里没有比特币呢?
继续创建 200 个块:
查看钱包余额
至此,可以初步断定,之前生成的20个区块太“新鲜”,不够“老”,需要后面生成更多的区块来完成确认。
(补充:后来查资料发现挖矿获得的coinbase交易中的reward必须在100个区块深度后才能花掉。)
转钱到钱包2,这里转10个比特币:
make sendfrom1 ADDRESS=2MxS36F99cMaAiQmjno2beRGYaZXEkEvf6X AMOUNT=10
这时候查看钱包余额,
好办,继续生成10个区块使交易确认:
参考