使用亚洲端点下载币安智能链的快照数据,节点会不会启动的更快?

还是老样子,在本篇文档开始之前,大概说明一下本次BSC同步的情况:

  • 服务器环境
服务器:阿里云服务器
CPU:24核
内存:48GB
数据盘:2T SSD 数据盘
带宽:独享 100M
  • 软件环境
centos 7.9

注:按照以上配置,预计十六小时即可同步至最新区块

基于以下三点,更新了本篇文档

BSC快照端点增加

BSC官方的github快照最近新增为了三个端点可以下载,分别是:亚洲端点,欧盟端点,美国端点。

因为我今天使用的是日本东京区域的云服务器,所以选择的下载端点是:Asia Endpoint

在数据盘为2T SSD,带宽为100M的情况下,此次使用亚洲端点与以前的下载速率进行对比,总体变化不大,速率依然保持在:10 MB/s-13 MB/s,但目前有多个端点可供下载,对我们这些使用者来说,选择则会更多一些。

  • BSC快照官方:https://docs.binance.org/smart-chain/developer/snapshot.html
  • BSC快照github:https://github.com/binance-chain/bsc-snapshots
  • BSC github地址:https://github.com/binance-chain/bsc/releases

BSC节点硬分叉

BSC将在新发版本—— v1.1.5带来Bruno硬分叉,Bruno 硬分叉预计将发生在区块高度 13082000。目前的区块生成速度预测这将发生在 11 月 30 日上午 08:00 (UTC) 左右。 建议所有客户端在 11 月 30 日之前升级

同步加速参数

BSC在v1.1.5版本中改进了 diffsync 协议,并将其作为稳定功能推出。经测试,差速同步可将同步速度提高约60%~70%。建议所有全节点通过添加–diffsync启动命令来启用它


一、下载bsc主网快照数据

  • 安装linux下的窗口管理器工具:screen
yum -y install screen
  • 下载bsc主网快照数据
cd /opt/bsc/
screen -S bsc wget -O geth.tar.gz  https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/geth-20211114.tar.gz?AWSAccessKeyId=AKIAYINE6SBQPUZDDRRO\&Signature=Z%2BnjQ6JRUaHjhIeoTyTMAIIUNfY%3D\&Expires=1639516490
  • 解压bsc主网快照数据
tar zxvf geth.tar.gz

二、下载BSC二进制文件

  • 下载BSC二进制文件
cd /opt/bsc/server
https://github.com/binance-chain/bsc/releases/download/v1.1.5/geth_linux
  • 授予可执行权限
chmod +x geth_linux

三、下载主网配置文件及创世区块文件

  • 下载主网配置文件及创世区块文件
cd /opt/bsc/server
wget https://github.com/binance-chain/bsc/releases/download/v1.1.5/mainnet.zip
  • 解压下载好的文件
unzip mainnet.zip 
  • 修改BSC主网配置文件

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值设置的越大,

四、二进制启动BSC主网

  • 启动BSC主网节点
 SCREEN -S bsc /opt/bsc/geth_linux --config /opt/bsc/config.toml --datadir /opt/bsc/data-seed --cache 44032 --rpc.allow-unprotected-txs --txlookuplimit 0 --diffsync

参数说明:

–config:指定BSC节点配置文件

–datadir:指定BSC节点数据库和密钥存储库的数据目录(默认:"/root/.ethereum")
–cache:设置最大分配给内部缓存的内存,默认:1024(设置越大,每次同步的数据越多,消耗的内存也越大)

–rpc.allow-unprotected-txs:允许通过RPC提交不受保护的(非 EIP155 签名)交易

–txlookuplimit 0 : 禁用删除事务索引

五、查询是否同步完成

  • 查看当前最新区块
# 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为同步完成


以上,就是今天分享的全部内容了。

希望大家通过以上方式可以解决自己的实际需求,解决自己目前所遇到的问题。

如果有任何区块链相关疑问,可以扫描下面的二维码,添加我的个人微信,备注:地区-职业方向-昵称,欢迎来撩,加入区块链技术交流群,与更多的区块链技术大佬学习交流。

在这里插入图片描述
如果你喜欢这个教程并且它对你来说价值 0.0000001BTC,麻烦你为本文点个赞,留言或转发一下,因为这将是我输出更多优质文章的动力,感谢!

Guess you like

Origin blog.csdn.net/cljdsc/article/details/121408114