方伟的博客
j2ee技术、网络、web等,同名的人真多,我的QQ是20025404
posts - 21,comments - 14,trackbacks - 0

1.服务器

需要1T NVMe 硬盘,最好是裸硬盘,云盘io性能太差,建议物理机(裸金属主机)+本地SSD。

2.带宽

越高越好,建议国外服务器,1G带宽不限流量

3.操作系统

建议centos7/8,或ubuntu,这里均以centos为例

4.准备环境:

yum update -y

yum install screen iftop iotop -y

5.创建一个screen

screen -S btc

*注意1:最后退出时用ctrl+ad(顺序按a和d字母即可),绝对不要用exit或ctrl+d退出会话。

*注意2:退出会话后,可以用screen -r btc重新连接到会话。这样可以保持在shell下运行,网络中断不会影响。

6.安装bitcoin客户端

#这里我的数据目录,可以根据需要自行更改

mkdir -p /data1/btc/data

#下载最新版本,今天的最新版本是22.0

cd /root
wget -O bitcoin-22.0.tar.gz https://bitcoincore.org/bin/bitcoin-core-22.0/bitcoin-22.0-x86_64-linux-gnu.tar.gz
tar -zxvf bitcoin-22.0.tar.gz

7.编辑并上传配置文件:/data1/btc/bitcoin.conf

datadir=/data1/btc/data
wallet=btc20211107    #随便取个名字,其实用不到这个
testnet=0    # 0 - 主网 1 - 测试网
regtest=0    # 是否以私有链模式运行:0 - 否 1 - 是
#gen=0        # 设置 gen=1 以尝试比特币挖矿
#daemon=1    # 后台执行

#proxy=127.0.0.1:9050 # 是否使用socks5代理,默认关闭
#bind=<addr>   # 注释此行,表示使用默认监听地址
#whitebind=<addr>
#addnode=69.164.218.197  # 可添加多个
#addnode=10.0.0.2:8333
#connect=69.164.218.197
#listen=1
#maxconnections=10    #入站/出站最大连接数

server=1    # 是否启动JSON-RPC接口: 0 - 不启动 1 - 启动
txindex=1
rpcbind=0.0.0.0
rpcport=8432        #端口可以自行修改
rpcuser=admin        #用户名自行修改
rpcpassword=123456    #密码自行修改,但最好不要有特殊字符,像@
rpcallowip=0.0.0.0/0    #可以添加多个
#rpcallowip=0.0.0.0/0    #可以添加多个
#rpcallowip=192.168.0.0/16
#rpcconnect=127.0.0.1

#txconfirmtarget=6    #交易最小确认数,默认值:6
#paytxfee=0.000x    #paytxfee:每次发送比特币时的交易费

#txconfirmtarget=n
#paytxfee=0.000x
#keypool=100
#prune=550

#min=1                #是否启动后最小化
#minimizetotray=1    #是否最小化到系统托盘
8.设置防火墙
firewall-cmd --permanent --zone=public --add-port=8432/tcp
firewall-cmd --permanent --zone=public --add-port=8433/tcp
firewall-cmd --reload
不懂防火墙配置的,可以直接先禁用防火墙,关于firewalld的使用技巧,之后会单独写一篇教程

9.启动客户端

ulimit -n 65535
cd /root/bitcoin-22.0
/root/bitcoin-22.0/bin/bitcoind -port=8433 -conf=/data1/btc/bitcoin.conf

*然后按ctrl+ad回到主会话即可
10.测试验证(以下列出几种方式,可以看自己喜好)

curl --user admin:123456 --data-binary '{"jsonrpc": "1.0", "id": "1", "method": "getindexinfo", "params": []}' -H 'content-type: text/plain;' http://127.0.0.1:8432/

curl --data-binary '{"jsonrpc":"1.0","id":"1","method":"getindexinfo","params":[]}' -H 'content-type:text/plain;' http://admin:123456@127.0.0.1:8432/

或:

/root/bitcoin-22.0/bin/bitcoin-cli -rpcconnect=127.0.0.1 -rpcuser=admin -rpcpassword=123456 -rpcport=8432 getindexinfo

11.停止节点

方式1:(建议,毕竟停止后还要启动不是)

screen -r btc

按ctrl+c,等待一会即可看到节点停止

方式2:

任意会话中输入命令:

/root/bitcoin-22.0/bin/bitcoin-cli -rpcconnect=127.0.0.1 -rpcuser=admin -rpcpassword=123456 -rpcport=8432 stop

12.接口文档参考

https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list
https://developer.bitcoin.org/reference/rpc/index.html

太多了,大家可以搜下,网上有很多

13.注意事项

同步到最高区块所需时间:

需要看网络带宽和磁盘io性能,我用NVMe的裸盘,读写1500到2000左右,1G的国外带宽,大概同步几个小时即可(没有具体去算,应该5、6个小时,最高不到12个小时)。

带宽最高使用到100MB/s左右。

如果花了一天以上没有同步到最新,有可能是服务器存在瓶颈,还是建议用国外物理机,10M带宽基本上不怎么够用,建议至少100M的带宽,不需要cn2线路,成本并不高。

posted on 2021-11-14 23:36 方伟的博客 阅读(953) 评论(0)  编辑  收藏 所属分类: 区块链

只有注册用户登录后才能发表评论。


网站导航: