btc节点搭建
ubuntu可能使用iptables或ufw管理出入站
确保网络防火墙已打开以下端口:
# Generated by iptables-save v1.6.1 on Mon May 27 18:48:11 2019
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT # SSH
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT # BTCPay HTTP
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT # BTCPay HTTPS
-A INPUT -p tcp -m tcp --dport 8333 -j ACCEPT # Bitcoind P2P
-A INPUT -p tcp -m tcp --dport 9735 -j ACCEPT # Lightning P2P
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
COMMIT
# Completed on Mon May 27 18:48:11 2019
下载比特核心wget https://bitcoin.org/bin/bitcoin-core-25.0/bitcoin-25.0-x86_64-linux-gnu.tar.gz
解压tar -xvf bitcoin-25.0-x86_64-linux-gnu.tar.gz
提取中间的文件到运行目录,将bitcoind和bitcoin-cli提取到/usr/local/binsudo tar -xzvf bitcoin.tar.gz -C /usr/local/bin --strip-components=2 "bitcoin-25.0/bin/bitcoin-cli" "bitcoin-25.0/bin/bitcoind"
sudo ln -s /mnt/btc/.bitcoin /root/.bitcoin
将数据目录转存到挂载的磁盘、
所以BTC的实际数据保存路径为/mnt/btc/.bitcoin
禁止生成日志文件,在数据目录下创建bitcoin.conf文件:
# 设置比特币节点运行的端口
rpcport=8332
# 不记录日志
debug=0
# 不记生成日志文件
debuglogfile=/dev/null
#一个服务
server=1
#守护进程模式,没有的话会在前端显示
daemon=1
#指定rpc用户名
rpcuser=用户名
#指定rpc密码
rpcpassword=密码
运行停止
bitcoind
启动 =0不记录bitcoin-cli stop
停止
bitcoin-cli getmininginfo
查看运行状态ps aux | grep bitcoind
查看运行状态bitcoin-cli getblockchaininfo
取同步进度
{
"chain": "main", //表示主网
"blocks": 497343, //当前区块链上的块数量
"headers": 820968, //当前节点已经收到的区块头数量
//当前区块链上最新块的哈希值
"bestblockhash": "0000000000000000001110b1635c0055ad1bef3bb6b08c5ad91941e9b6770872",
"difficulty": 1347001430558.57, //当前区块链上最新块难度
"time": 1512296248, //最新块时间戳
"mediantime": 1512293871, //区块链中所有块的中位时间戳
"verificationprogress": 0.3080612557175799, //表示节点对区块链的验证进度
"initialblockdownload": true, //仍在进行初始区块下载
//表示区块链的总工作量证明
"chainwork": "000000000000000000000000000000000000000000bf1f1735fce19261f0cbc0",
"size_on_disk": 165129776033, //区块链数据在磁盘上的大小
"pruned": false, //是否启用了精简模式
"warnings": "" //节点警告信息
}
bitcoin-cli getnetworkinfo
网络同步状态,返回信息:
{
"version": 250000, //比特币核心版本号
"subversion": "/Satoshi:25.0.0/", //核心子版本信息
"protocolversion": 70016, //网络协议版本号
"localservices": "0000000000000409", //本地节点服务标志,16进制
"localservicesnames": [ //标志列表
"NETWORK", //网络节点
"WITNESS", //支持隔离见证
"NETWORK_LIMITED" //有限网络模式运行
],
"localrelay": true, //本地是否支持交易中继
"timeoffset": -1, //节点与网络时间的偏移
"networkactive": true, //是否处于活动状态
"connections": 10, //与其他节点的连接数
"connections_in": 0, //入站连接数量
"connections_out": 10, //出站连接数量
"networks": [ //与其他网络的连接信息
{
"name": "ipv4",
"limited": false,
"reachable": true, //是否能连接到这些网络
"proxy": "",
"proxy_randomize_credentials": false
},
{
"name": "ipv6",
"limited": false,
"reachable": true,
"proxy": "",
"proxy_randomize_credentials": false
},
{
"name": "onion",
"limited": true,
"reachable": false,
"proxy": "",
"proxy_randomize_credentials": false
},
{
"name": "i2p",
"limited": true,
"reachable": false,
"proxy": "",
"proxy_randomize_credentials": false
},
{
"name": "cjdns",
"limited": true,
"reachable": false,
"proxy": "",
"proxy_randomize_credentials": false
}
],
"relayfee": 0.00001000, //节点在交易中继时收取的费用
"incrementalfee": 0.00001000, //节点在交易中继时额外收取的递增费用
"localaddresses": [ //本地节点信息
],
"warnings": "" //节点警告信息
}
bitcoin-cli getblockcount
取块高度
钱包功能
bitcoin-cli createwallet "钱包名称"
创建钱包bitcoin-cli loadwallet
加载默认钱包bitcoin-cli loadwallet "钱包名称"
加载指定钱包bitcoin-cli listwallets
列出钱包bitcoin-cli getwalletinfo
列出钱包信息
查询自己账户
bitcoin-cli listtransactions "地址" 10 0 true
//查询最近10笔交易bitcoin-cli getreceivedbyaddress "地址"
//查询地址余额