背景:btc全节点的数据量是非常庞大的,为了加快同步区块数据的效率,我们有两种方式:1.搭建轻节点,2.复制已有节点的区块数据
需求:已有一个完整的BTC全节点,通过复制区块数据。达到快速搭建一个BTC新节点
方案如下:
前提:当前是以omnicore作为钱包客户端的(既支持BTC又支持OMNI-USDT),假设已有全节点为A,待搭建节点为B,
一.确认节点A的操作系统版本、磁盘消耗、btc配置文件的路径、btc数据的存放路径
二.保证节点B的服务器系统版本与A一致,磁盘要大于A的磁盘
三.安装钱包客户端 复制节点数据
1.下载钱包客户端:https://github.com/OmniLayer/omnicore/releases/download/v0.11.0/omnicore-0.11.0-x86_64-linux-gnu.tar.gz
2.解压gz
3.复制A的btc配置文件到B,一般目录为:/{用户目录}/.bitcoin/bitcoin.conf,通过SCP命令完成复制
4.在B服务器,创建存放区块数据的目录,注意要保证该目录所在磁盘是足够大的,800G+
5.复制A节点的区块数据到到B节点(刚刚已创建的目录),可以查找A配置文件中的配置项datadir,或通过A的btc启动脚本中查找。找到后,使用scp命令完成复制,整个过程大概需要2-3小时
6.复制完成后,进入B服务器,删除区块数据中的wallet.dat(这是钱包文件,非常关键,不共用的情况下,一定要删除,启动后,会自动重新创建钱包的)。记得关系btc配置文件,以适应B服务器
四.启动omnicore钱包客户端,命令示例:nohup /opt/omnicore-0.11.0/bin/omnicored -conf=/root/.bitcoin/bitcoin.conf --datadir=/opt/omni_data/ &
五.查看运行日志 tail -f /opt/omni_data/debug.log,日志有变化,没啥大异常就行
六.查看区块同步状态:/opt/omnicore-0.11.0/bin/omnicore-cli -conf=/root/.bitcoin/bitcoin.conf getblockchaininfo
注意事项:
1.初期运行命令可能会报错,不要慌,这是btc在验证已复制的区块数据,整个过程大概要持续好几个小时,运行不报错后,新节点B搭建就完成了
2.如果是搭建全新的btc节点只需省略复制的过程,就是新节点搭建。btc配置还是要注意配置的
3.给一个btc主链配置的示例
testnet=0 #是否主链 0是主链,1测试链
dbcache=10240
txindex=1 #所有交易进行索引;否则只保留钱包地址交易索引记录
rpcuser=rpc_access_user #rpc访问用户
rpcpassword=rpc_access_password # rpc 访问密码
daemon=1 #后台运行
server=1
rpcallowip=0.0.0.0/0 #允许访问rpc的IP限制,可配置多个
rpcport=8300
keypool=1000000
rpcbind=0.0.0.0:8332
deprecatedrpc=accounts