主页 > imtoken客户端 > Blockchain-Linux下比特币测试节点搭建
Blockchain-Linux下比特币测试节点搭建
在最近的研发中,需要用到比特币测试节点。 想找以太坊infura这样的三方节点,最后只找到了BLOCKCYPHER。 它提供了测试网和主网环境,但 API 是封装好的。 出于严谨,我决定构建自己的节点。
本文将讲解如何在 Linux 下搭建比特币测试节点。 为了良好的阅读体验,请点击阅读原文
搭建环境选择
比特币节点有很多实现
还有很多其他的实现方式,比如java版,js版。 如果用于商业用途,比特币核心一定是最稳妥的选择。
服务器配置节点搭建
1. 输入比特币并选择选择你的钱包
2.选择Bitcoin Core for Linux下载
bitcoin-0.17.0.1-x86_64-linux-gnu.tar.gz
__3。 __上传服务器,解压
这里我使用的路径统一为/opt/btc/...
解压缩
1
2
cd /opt/btc
tar -xzvf bitcoin-0.17.0.1-x86_64-linux-gnu.tar.gz
4.比特币配置
比特币默认的配置文件目录为~/.bitcoin/bitcoin.conf,如果不指定,默认会在该目录下新建一个。
同步数据占用硬盘空间。 建议自定义存储路径比特币测试币获取,避免后期空间不足的尴尬。
这里作者在/opt/btc/bitcoin-data/下新建了一个bitcoin.conf文件
比特币.conf:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 数据存储目录
datadir=/opt/btc/bitcoin-data
# 使用测试网络
testnet=1
# 告知 Bitcoin-Qt 和 bitcoind 接受JSON-RPC命令
server=1
# 设置 gen=1 以尝试比特币挖矿
gen=1
# 后台执行
daemon=1
# 监听 RPC 链接,正式默认端口8333 测试默认18333
#rpcport=18333
#rpcuser=123456
#rpcpassword=abcdef
#rpcallowip=0.0.0.0/0
#rpcconnect=127.0.0.1
这里只做了一些简单的配置,更多的配置请参考Bitcoin Core配置文件的解释
配置已设置,同步开始
1
2
cd /opt/btc/bitcoin-0.17.0/bin
./bitcoind -conf=/opt/btc/bitcoin-data/bitcoin.conf
不出意外的话,同步就开始了。 测试网节点数据约几十G,耐心等待。 作者大概花了1~2个小时
以上进度代表同步进度,1.0为100%。
相关命令 bitcoind
启动比特币(根据实际情况修改)
1
2
cd /opt/btc/bitcoin-0.17.0/bin
./bitcoind -conf=/opt/btc/bitcoin-data/bitcoin.conf
命令中的bitcoin.conf文件中包裹了一系列的配置。 如果不使用该文件,则需要指定每个参数。 例如./bitcoind -datadir=xxx -rpcuser=xxx .....
如果不确定是否启用了比特币,可以使用命令查询 netstat --ip -lpan | grep 比特币
1
2
# 帮助
./bitcoind -h
更多 bitcoind 命令
比特币客户端
关闭比特币
1
./bitcoin-cli stop
其他命令
1
2
3
4
5
6
7
8
# 查看网络状态:
bitcoin-cli getnetworkinfo
# 查看网络节点:
bitcoin-cli getpeerinfo
# 查看区块链信息:如同步进度、
bitcoin-cli getblockchaininfo
# 查看所有命令
bitcoin-cli help
更多 bitcoin-cli 命令
bitcoin-cli RPC命令总结
比特币 API
1
2
3
4
./bitcoin-cli -conf=/opt/btc/bitcoin-data/bitcoin.conf listaccounts
error code: -32
error message:
listaccounts is deprecated and will be removed in V0.18. To use this command, start bitcoind with -deprecatedrpc=accounts.
有些命令即将过期,会报错。 这个时候最好使用bitcoin-cli help查询替换命令
创建账户和地址进行交易测试
1
./bitcoin-cli -conf=/opt/btc/bitcoin-data/bitcoin.conf getnewaddress "halcyon"
这里的“halcyon”为自定义账户名比特币测试币获取,默认创建的地址类型为隔离见证,即测试网下以2开头。
获取测试币
在以下测试币水龙头网页申请测试比特币,注意上网科普。
然后查看余额。
1
2
3
./bitcoin-cli -conf=/opt/btc/bitcoin-data/bitcoin.conf getbalance
或者
./bitcoin-cli -conf=/opt/btc/bitcoin-data/bitcoin.conf listaddressgroupings
然后转移到myVftRaBb8Vy3upWaL8TueAhDE2QAsQy1h
1
./bitcoin-cli -conf=/opt/btc/bitcoin-data/bitcoin.conf sendtoaddress "myVftRaBb8Vy3upWaL8TueAhDE2QAsQy1h" 0.001
返回的是一串字符串txhash,可以去比特币浏览器中查找
随附的
Linux常用命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查看磁盘空间
df -hl
# 递归删除
rm -rf [目录]
# 查看所有网络端口
netstat -an
# 查看端口具体被哪个进程占用
lsof -i :[端口号]
# 查看进程详细信息
ps -aux | grep [进程号]
# 杀掉进程
kill -9 [进程号]
# 查看关键字进程
netstat --ip -lpan | grep [关键字]
参考: