一、服务器配置要求
- 全节点建议配置
系统:Mac & Linux
CPU:16核
内存:64 GB 内存
带宽:50M以上
硬盘:大于2T固态SSD可用空间数据盘
- 本次搭建使用配置
系统:Centos7.9
CPU:32核心64线程
内存:64GB 内存
带宽:100M上下对等
硬盘:固态2T 机械2T 一共4T
区域:HK
- 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
二、系统环境准备
- 更新软件包
#Centos
yum -y upgrade
#Ubuntu
apt-get update
- 安装wget和git
#Centos
yum install wget -y
yum install git -y
#Ubuntu
apt install wget -y
apt install git -y
- 安装Golang(安装 Go 主要是为了去编译 go-ethereum 源码)
#Centos
yum install golang -y
#Ubuntu
apt install golang -y
使用go version
确认安装正确
go version
如下显示则安装正确。
[root@localhost ~]# go version
go version go1.18.1 linux/amd64
- 安装linux下的窗口管理器工具screen
#Centos
yum -y install screen
#Ubuntu
apt -y install screen
三、节点安装部署
在根目录创建jiedian
文件夹用来存放节点程序,并在同时在jiedian里边创建一个kuaizhao
文件夹,下载的快照数据
- 安装BSC版本的geth
cd / #进入根目录
mkdir -p jiedian/kuaizhao #创建jiedian及kuaizhao文件夹
cd /jiedian #进入jiedian文件夹
git clone https://github.com/binance-chain/bsc
cd bsc/
make geth
Ubuntu如果不能make使用下列命令跑一下就好了
#Ubuntu
apt -y install gcc automake autoconf libtool make
配置路径
vim /etc/profile
#把下列一行写到最后边然后 :wq 保存退出
export PATH=$PATH:/jiedian/bsc/build/bin
#然后使命令生效
source /etc/profile
使用geth version
确认安装正确
- 配置创世块
wget https://github.com/binance-chain/bsc/releases/download/v1.1.9/mainnet.zip
unzip mainnet.zip
geth --datadir node init genesis.json
- 下载BSC快照
创建一个用来下载快照的screen窗口
screen -S xiazai
开始下载快照
cd /jiedian/kuaizhao #进入kuaizhao文件夹下载快照
wget -O geth.tar.lz4 "最新下载地址"
#如果带宽1G以上可以使用下边多线程工具下载,先安装aria2c
apt -y install aira2 #Ubuntu
yum -y install aira2 #Centos
#然后执行下载命令
aria2c -o geth.tar.lz4 -x 4 -s 12 "亚洲端点地址" "欧盟端点地址" "美国端点地址"
下载完成后解压 并移动 chaindata 和 triecache 到./jiedian/bsc/node/geth/ 文件夹下
tar -I lz4 -xvf geth.tar.lz4 #在kuaizhao目录解压数据包
mv /jiedian/kuaizhao/server/data-seed/geth/chaindata /jiedian/bsc/node/geth
mv /jiedian/kuaizhao/server/data-seed/geth/triecache /jiedian/bsc/node/geth
移动完毕以后退出screen的xiazai窗口,并创建bsc窗口并开始运行节点。
ctrl+ad #退出xiazai窗口
启动之前可以先自行配置一下节点的配置文件
- 修改BSC主网配置文件
vim /jiedian/bsc/config.toml
参数说明:
三、启动BSC智能全节点
screen -S bsc #创建bsc节点启动窗口
geth --config ./config.toml --datadir ./node --diffsync --cache 86016 --rpc.allow-unprotected-txs --txlookuplimit 0 --rpc.txfeecap 0 --rpc.gascap 0
然后按ctrl+ad回到主会话即可
参数说明:
四、节点状态监听
geth attach http://127.0.0.1:8545
#这里的端口如果修改配置文件了,就填写配置文件的端口即可
> eth.syncing #查看当前块情况
说明:
> net.peerCount #查看当前连接节点数量,结果为false为同步完成
> eth.blockNumber #当前同步到块高度
退出请按 ctrl+d 回到主会话。
- 停止节点
打开bsc窗口
screen -x bsc
然后按 ctrl+c 即可
五、注意事项
1.Centos设备配置同步情况
我这台Centos的设备配置同步到最高块用了大概10小时左右就追到了最高块,在使用固态之前用机械硬盘试了一下,每秒1个块,可以说相当拉胯了,所以还是推荐直接上SSD,硬盘最好4T空间,否则块数据都要1.9个T,如果只有2T空间根本不够用。
2.Ubuntu设备配置同步情况
这台就快多了,下载快照:2.5-3个小时,解压:30-40分钟,同步到最新块:2.5个小时,主要是这台硬盘是全固态,内存也大,带宽也大,1G上下对等。