BSC主网节点同步搭建教程
系统配置:
cpu: 8核
内存: 16G及以上
系统盘: 60G
数据盘: 大于2T固态SSD可用空间数据盘
系统: centos 7 (64位)
带宽: 独享 100M
- BSC官方文档:https://docs.binance.org/smart-chain/developer/fullnode.html
- BSC快照github:https://github.com/binance-chain/bsc-snapshots
- BSC github地址:https://github.com/binance-chain/bsc/releases
- BSC链主网浏览器浏览器:https://bscscan.com/
1.下载BSC主网快照数据
yum -y install screen lz4 lz4-devel unzip
cd /data
screen -S bsc wget -O geth.tar.lz4 "https://tf-dex-prod-public-snapshot-site3.s3-accelerate.amazonaws.com/geth-20220513.tar.lz4?AWSAccessKeyId=AKIAYINE6SBQPUZDDRRO&Signature=xunm4v%2FsxdptNyiAla9P%2F0%2BH2bs%3D&Expires=1655117944"
2.下载BSC二进制文件
cd ~/soft_shell/
wget $(curl -s https://api.github.com/repos/bnb-chain/bsc/releases/latest |grep browser_ |grep geth_linux |cut -d\" -f4)
chmod +x geth_linux
cp geth_linux /usr/bin/geth
3.下载BSC主网配置文件及创世区块文件
cd ~/soft_shell/
wget $(curl -s https://api.github.com/repos/bnb-chain/bsc/releases/latest |grep browser_ |grep mainnet |cut -d\" -f4)
unzip mainnet.zip
vim /root/soft_shell/mainnet/config.toml
修改BSC主网配置文件
TrieTimeout:这意味着geth将不会将状态持久化到数据库中,直到达到这个时间阈值,如果节点已经被强制关闭,它将从最后一个状态开始同步,这可能需要很长时间,可设置为:TrieTimeout = 200000000000 注意:当TrieTimeout值设置的越大,系统崩溃后,节点恢复的时间越长
HTTPHost: HTTP-RPC服务连接白名单,此参数的值默认为 “localhost”,仅允许本地可访问,可设置为:”0.0.0.0”
HTTPVirtualHosts:HTTP-RPC服务监听接口,此参数的值默认为 [“localhost”],可设置为:HTTPVirtualHosts = [“*”]
4.启动BSC主网节点
mkdir /data/bsc
cp /root/soft_shell/mainnet/config.toml /data/bsc/
lz4 -d geth.tar.lz4 | tar -xv
cp -r data-seed /data/bsc/
screen -S bsc geth --config /data/bsc/config.toml --datadir /data/bsc/data-seed --cache 60416 --rpc.allow-unprotected-txs --txlookuplimit 0 --txpool.reannouncetime 5m --diffsync
- 参数说明:
–config:指定BSC节点配置文件
–datadir:指定BSC节点数据库和密钥存储库的数据目录(默认:”/root/.ethereum”)
–cache:设置最大分配给内部缓存的内存,默认:1024(设置越大,每次同步的数据越多,消耗的内存也越大)
–rpc.allow-unprotected-txs:允许通过RPC提交不受保护的(非 EIP155 签名)交易
–txlookuplimit 0 : 禁用删除事务索引
–diffsync:启用差异同步协议来帮助节点更快地同步
5.查询是否同步完
geth attach ipc:/data/bsc/data-seed/geth.ipc
eth.syncing #查看当前区块情况
说明:
以下参数我复制的别人的,就让大家知道下那些参数是需要注意的
currentBlock: 14290861, #当前同步到区块高度 highestBlock: 14297354, #主网当前高度 knownStates:297473485, pulledStates: 297473485, startingBlock: 14270385
net.peerCount #查看当前连接节点数量
eth.blockNumber #当前同步到区块高度
-
也可以通过查看日志来看同步到哪里了
tail -n 100 -f /data/bsc/data-seed/bsc.log
我从5月18号开始同步的,21号同步到跟主网一样的高度.
参考链接: