主页 > 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

启动成功后,会在本地模拟运行两个比特币测试钱包节点,形成私有的比特币测试网络。

16个比特币钱包文件_比特币钱包登陆_比特币和莱特币钱包

输入以下命令查看测试网络节点状态信息:

make getinfo

顺便看看后面两个节点的bitcoin.conf文件是怎么配置的

节点配置文件

节点 1

cat /home/tester/bitcoin-testnet-box/1/bitcoin.conf

节点 2

16个比特币钱包文件_比特币钱包登陆_比特币和莱特币钱包

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  

16个比特币钱包文件_比特币钱包登陆_比特币和莱特币钱包

钱包一:2My51iv4qdBkZrJ5Xd8o523bnihiLqQmZ7m

钱包2:2MxS36F99cMaAiQmjno2beRGYaZXEkEvf6X

查看地址对应的私钥:

bitcoin-cli -datadir=1  dumpprivkey 2My51iv4qdBkZrJ5Xd8o523bnihiLqQmZ7m

注:在正式的比特币网络环境下,平均需要10分钟左右生成一个新区块。 但这里测试网络(testnet)的特殊设置环境下,可以通过简单的命令控制,实时批量生成区块,方便程序开发和测试。

生成一个块:

make generate

比特币和莱特币钱包_比特币钱包登陆_16个比特币钱包文件

生成 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的余额里没有比特币呢?

比特币钱包登陆_比特币和莱特币钱包_16个比特币钱包文件

继续创建 200 个块:

查看钱包余额

至此,可以初步断定,之前生成的20个区块太“新鲜”,不够“老”,需要后面生成更多的区块来完成确认。

(补充:后来查资料发现挖矿获得的coinbase交易中的reward必须在100个区块深度后才能花掉。)

转钱到钱包2,这里转10个比特币:

make sendfrom1 ADDRESS=2MxS36F99cMaAiQmjno2beRGYaZXEkEvf6X  AMOUNT=10 

这时候查看钱包余额,

好办,继续生成10个区块使交易确认:

参考