CPU:32核
内存:64 GB
数据盘:4T SSD 数据盘
带宽:50M
centos 7.9
yum -y install screen
cd /opt/bsc/
screen -S bsc wget -O geth.tar.lz4 https://tf-dex-prod-public-snapshot-site1.s3-accelerate.amazonaws.com/geth-20220423.tar.lz4?AWSAccessKeyId=AKIAYINE6SBQPUZDDRRO\&Signature=W4g9HUJn3kgMH4tiPRQiwInLYHc%3D\&Expires=1653388107
lz4 -d /opt/geth.tar.lz4 | tar -xv
注:该命令无法放到后台管理进程中,需要在当前窗口直接解压
解压前记得需要设置窗口永不超时,不然可能会自动推出登录,也就退出当前进程了。
# vim /etc/profile # 编辑配置
export TMOUT=0 #0代表永不超时
readonly TMOUT # 将值设置为readonly 防止用户更改
# source /etc/profile # 生效配置
# echo $TMOUT # 查看超时时间
0 #0为永不超时
注:我是在2022.4.28下载的25好的快照数据,快照数据为:1.4T,大约使用了10小时解压数据,解压后的数据量为:1.5T。时间还是比较漫长的,写在这里供各位参考
cd /opt/bsc/
wget https://github.com/bnb-chain/bsc/releases/download/v1.1.9/geth_linux
chmod +x geth_linux
cd /opt/bsc/
wget https://github.com/bnb-chain/bsc/releases/download/v1.1.9/mainnet.zip
unzip mainnet.zip
TrieTimeout:这意味着geth将不会将状态持久化到数据库中,直到达到这个时间阈值,如果节点已经被强制关闭,它将从最后一个状态开始同步,这可能需要很长时间,可设置为:TrieTimeout = 200000000000
HTTPHost: HTTP-RPC服务连接白名单,此参数的值默认为 "localhost",仅允许本地可访问,可设置为:"0.0.0.0"
HTTPVirtualHosts:HTTP-RPC服务监听接口,此参数的值默认为 ["localhost"],可设置为:HTTPVirtualHosts = ["*"]
HTTPPort:http协议rpc端口
WSPort:websocket协议rpc端口
WSHost:websocket服务连接白名单,此参数的值默认为 "localhost",仅允许本地可访问,如果需要外网访问节点可设置为:"0.0.0.0"
WSOrigins:websocket服务监听接口,可设置为:WSOrigins = ["*"]
注意:当TrieTimeout值设置的越大,系统崩溃后,节点恢复的时间越长
screen -S bsc /opt/bsc/geth_linux --config /opt/bsc/config.toml --datadir /opt/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:启用差异同步协议来帮助节点更快地同步
# curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","id":1,"result":"0xa352a4"}
# curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' http://127.0.0.1:8545
{"jsonrpc":"2.0","id":1,"result":false}
注:结果为false为同步完成
以上,就是今天分享的全部内容了。
希望大家通过以上方式可以解决自己的实际需求,解决自己目前所遇到的问题。
如果在部署过程中有任何疑问,可以添加我的个人微信【jemooner】,备注:地区-职业方向-昵称,欢迎来撩,加入区块链技术交流群,与更多的区块链技术大佬学习交流。
原创不易,码字不易。 觉得这篇文章对你有点用的话,麻烦你为本文点个赞,留言或转发一下,因为这将是我输出更多优质文章的动力,感谢!
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!