文章转自1:https://www.cnblogs.com/elvi/p/10203927.html
文章转自2:https://lhalcyon.com/blockchain-bitcoin-node/
此文章前半部分部署转自1,后半部分测试转自2.
比特币BTC全节点搭建
#环境 ubuntu 18
#硬盘500GB
#客户端安装
#下载页面
https://bitcoin.org/zh_CN/download
cd /opt/
wget https://bitcoin.org/bin/bitcoin-core-0.17.0.1/bitcoin-0.17.0.1-x86_64-linux-gnu.tar.gz
#解压,软连接
tar zxf bitcoin-0.17.0.1-x86_64-linux-gnu.tar.gz
ln -fs /opt/bitcoin-0.17.0 /opt/bitcoin
ln -fs /opt/bitcoin-0.17.0/bin/bitcoind /usr/local/bin/bitcoind
ln -fs /opt/bitcoin-0.17.0/bin/bitcoin-cli /usr/local/bin/bitcoin-cli
#创建配置
创建全节点存储数据
mkdir -p /data/btc_data
创建配置文件方法1:
服务启动默认读取 ~/.bitcoin/bitcoin.conf这里的文件
mkdir ~/.bitcoin
vim ~/.bitcoin/bitcoin.conf
#数据存储目录
datadir=/data/btc_data
#使用测试网络
testnet=1
#告知Bitcoin-Qt和bitcoind接受JSON-RPC命令,其实
#意思就是开启RPC远程调用命令
server=1
#设置gen=1尝试挖矿,应该是开启挖矿模式
#gen=1
# 后台执行
daemon=1
# 监听RPC连接,正式默认端口8333 测试默认端口18333
rpcport=18333
# rpc用户
rpcuser=btc
#rpc用户密码
rpcpassword=btc123456
#允许那些IP访问RPC接口,以下写法为默认所有ip都可访问
rpcallowip=0.0.0.0/0
后台启动
bitcoind –daemon
关闭
bitcoin-cli stop
#查看区块链同步
bitcoin-cli getblockchaininfo
bitcoin-cli getmininginfo
#区块浏览器
# https://btc.com/
# rpc api访问
#curl访问rpc测试
curl -s -X POST --user btc:btc123456 \
-H 'content-type: text/plain;' http://127.0.0.1:8332/ \
--data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getmininginfo", "params": [] }'
#查询最新区块高度
curl -s -X POST --user btc:btc123456 \
-H 'content-type: text/plain;' http://127.0.0.1:8332/ \
--data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getmininginfo", "params": [] }' \
|awk -F '[:,]' '{print $3}'
#注意事项
#关闭后,再次启动时报错
#Cannot obtain a lock on wallet directory
#删除data目录.lock文件后,再次启动
#不配置datadir时,默认保存在 ~/.bitcoin/
更多 bitcoin-cli 命令
bitcoin-cli RPC 命令总结
有些命令即将过期 , 会报错 . 此时最好用 bitcoin-cli help 查询下替换的命令
交易测试
创建账户及地址
1 |
./bitcoin-cli -conf=~/.bitcoin/bitcoin.conf getnewaddress "halcyon" |
此处 “halcyon” 为自定义账户名 , 默认创建的地址类型是隔离见证的 , 即在测试网络下是 2 开头的.
获取测试币
在以下测试币水龙头网页中申请测试比特币 , 注意科学上网 .
http://bitcoinfaucet.uo1.net/send.php
https://coinfaucet.eu/en/btc-testnet/
然后查询余额 .
1 |
./bitcoin-cli -conf=~/.bitcoin/bitcoin.conf getbalance |
然后转账给 myVftRaBb8Vy3upWaL8TueAhDE2QAsQy1h
1 |
./bitcoin-cli -conf=~/.bitcoin/bitcoin.conf sendtoaddress "myVftRaBb8Vy3upWaL8TueAhDE2QAsQy1h" 0.001 |
返回的是一串字符串 txhash , 可以去比特币浏览器 上查找
附
Linux 常用命令:
1 |
# 查看磁盘空间 |