BTC系列 - 用docker搭BTC Testnet

张宝
2023-12-01

参考: https://www.2cto.com/kf/201707/659271.html

通过docker运行BTC的testnet

启动Docker.
$ service docker start 
or
$ systemctl start docker

下载BTC测试网络(bitcoin-testnet)的Docker镜像。
docker pull freewil/bitcoin-testnet-box

运行Docker镜像。
$ docker run -t -i -p 19001:19001 -p 19011:19011 freewil/bitcoin-testnet-box

进入Docker运行环境后,输入下面的命令来启动BTC测试网络:
$ make start

查看测试网络节点状态信息(注意:如果装的是较新版本的bitcoind,进入docker环境后,需要先到Makefile里修改getinfo命令,改成-getinfo)
$ make getinfo

模拟新产生200个区块记录(至少需要生成100个块)
$ make generate BLOCKS=200

#################给作为示例的测试钱包地址转账10个BTC##############
为第2个钱包生成地址
$ make address2
回显的地址 2N8nax4iYqNivqVosJE5pMZUHJus3N896YJ

转账
$ make sendfrom1 ADDRESS=[生成的地址] AMOUNT=10
[例如] make sendfrom1 ADDRESS=2N8nax4iYqNivqVosJE5pMZUHJus3N896YJ AMOUNT=10
回显
bitcoin-cli -datadir=1  sendtoaddress 2N8nax4iYqNivqVosJE5pMZUHJus3N896YJ 10
9a768b7e1377444c8d32fb44d9583ac9cad7646dc5d5a2d83edcf48af8df4136

模拟新产生10个区块记录,让上面的转账事务得到足够有效的确认
$ make generate BLOCKS=10
##################################################

停止BTC测试网络
$ make stop

关闭Docker
$ service docker stop

运行自己修改过的docker(适配新版 bitcoind的命令)

$ systemctl start docker
$ docker run -t -i -p 19001:19001 -p 19011:19011 my/bitcoin-testnet-box
$ make start
$ make getinfo
$ make generate BLOCKS=10
$ make address1
$ make stop

rpc的账号密码在bitcoin.conf文件里配置


退出之前记得保存修改的镜像内容
貌似得先停止bitcoin (docker内执行)
make stop
再保存镜像,通过命令获取容器id(docker外执行)
docker container ls
再保存
docker commit 容器ID 新的镜像名 (docker外执行)
[例如]	docker commit 5814f80288ac my/bitcoin-testnet-box

列出整个钱包的所有地址 
bitcoin-cli -datadir=1 getaddressesbyaccount ""

列出整个钱包的所有地址和余额
bitcoin-cli -datadir=1 listaddressgroupings

显示钱包当前管理的所有地址的余额总和 
bitcoin-cli -datadir=1 getbalance
列出所有事务信息
bitcoin-cli -datadir=1 listtransactions
查看单笔事务信息
bitcoin-cli -datadir=1 gettransaction 980be3d6694e905679b45d568829cfd1b73387b920b3d6e302a6b78c699bbb07
查看单笔原始数据
bitcoin-cli -datadir=1 getrawtransaction 935fc327ed8d36d971ba3147c0b7aaba695a8ba312f471c9a96706d1bb3aaa2a
解码事务的原始数据
bitcoin-cli -datadir=1 decoderawtransaction 上一条查到的原始数据

**查询地址的私钥**
bitcoin-cli -datadir=1 dumpprivkey 2MvSvdJBGSZVfdMGYXFpnDofv3ADQBeXPq4

(4)通过docker运行  参考:https://www.2cto.com/kf/201707/659271.html
启动Docker.
$ service docker start 
or
$ systemctl start docker

下载BTC测试网络(bitcoin-testnet)的Docker镜像。
docker pull freewil/bitcoin-testnet-box

运行Docker镜像。
$ docker run -t -i -p 19001:19001 -p 19011:19011 freewil/bitcoin-testnet-box

进入Docker运行环境后,输入下面的命令来启动BTC测试网络:
$ make start

查看测试网络节点状态信息(注意:如果装的是较新版本的bitcoind,进入docker环境后,需要先到Makefile里修改getinfo命令,改成-getinfo)
$ make getinfo

模拟新产生200个区块记录(至少需要生成100个块,第一个钱包节点账户余额会增加)
$ make generate BLOCKS=200

#################给作为示例的测试钱包地址转账10个BTC##############
为第2个钱包生成地址
$ make address2
回显的地址 2N8nax4iYqNivqVosJE5pMZUHJus3N896YJ

转账
$ make sendfrom1 ADDRESS=[生成的地址] AMOUNT=10
[例如] make sendfrom1 ADDRESS=2N8nax4iYqNivqVosJE5pMZUHJus3N896YJ AMOUNT=10
回显
bitcoin-cli -datadir=1  sendtoaddress 2N8nax4iYqNivqVosJE5pMZUHJus3N896YJ 10
9a768b7e1377444c8d32fb44d9583ac9cad7646dc5d5a2d83edcf48af8df4136

模拟新产生10个区块记录,让上面的转账事务得到足够有效的确认
$ make generate BLOCKS=10
##################################################

停止BTC测试网络
$ make stop

关闭Docker
$ service docker stop

往期精彩回顾:
区块链知识系列
密码学系列
零知识证明系列
共识系列
公链调研系列
BTC系列
以太坊系列
EOS系列
Filecoin系列
联盟链系列
Fabric系列
智能合约系列
Token系列
 类似资料: