ETH 2.0主网节点搭建教程(geth+prysum)
系统配置:
cpu: 8核
内存: 16G及以上
系统盘: 60G
数据盘: 2T及以上
系统: centos 7 (64位)
带宽: 独享 100M
- ETH 浏览器: https://etherscan.io/
- ETH 2.0官方安装文档: https://docs.prylabs.network/docs/install/install-with-script
1.下载geth
wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.10.26-e5eb32ac.tar.gz
tar zxf geth-linux-amd64-1.10.26-e5eb32ac.tar.gz
cd geth-linux-amd64-1.10.26-e5eb32ac
cp geth /usr/bin/
geth version
Geth Version: 1.10.26-stable Git Commit: e5eb32acee19cc9fca6a03b10283b7484246b15a Git Commit Date: 20221103 Architecture: amd64 Go Version: go1.18.5 Operating System: linux GOPATH= GOROOT=go
- 要同步eth2.0的话,geth最好是更新到1.10.23以上.
2.安装Prysum
mkdir -p /data/prysm && cd /data/prysm
curl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh && chmod +x prysm.sh
3.生成JWT令牌
./prysm.sh beacon-chain generate-auth-secret
- 会在当前目录下生成1个jwt.hex文件,不要删了,这个文件在后面很重要
4.启动geth
mkdir /data/eth_data
nohup geth -cache=8192 --datadir /data/eth_data --http --http.addr 0.0.0.0 --http.port 8545 --http.api eth,net,engine,admin --port 30303 --allow-insecure-unlock --http.corsdomain "*" --maxpeers 999 --maxpendpeers 999 --allow-insecure-unlock --snapshot=false --gcmode=archive --authrpc.jwtsecret /data/prysm/jwt.hex > /data/output.log 2>&1 &
5.启动共识层客户端Prysum
nohup ./prysm.sh beacon-chain --execution-endpoint=http://localhost:8551 --jwt-secret=/data/prysm/jwt.hex >> /data/prysm.log 2>&1 &
- 如果要做验证节点,需要加参数 –suggested-fee-recipient=0x01234567722E6b0000012BFEBf6177F1D2e9758D9
- 按照prysum官网的说法,这个过程需要花费数天时间,网络不好需要更长时间.
6.加速共识层数据同步速度
- 获取可信检查点: Ethereum Beacon Chain checkpoint sync endpoints,你们自己找个喜欢的节点.
- 从检查点启动
nohup ./prysm.sh beacon-chain --checkpoint-sync-url=https://checkpointz.pietjepuk.net --genesis-beacon-api-url=https://checkpointz.pietjepuk.net --execution-endpoint=http://localhost:8551 --jwt-secret=/data/prysm/jwt.hex >> /data/prysm.log 2>&1 &
-
进行验证
curl -s http://127.0.0.1:3500/eth/v1/beacon/headers/finalized | jq .'data.header.message'
-
如果无法验证,有可能是你没有按照jp,centos的话直接执行
yum -y install jq
-
7.防火墙设置
- 阻止8545/tcp, 3500/tcp, 8551/tcp, 4000/tcp
- 允许13000/tcp, 12000/udp, 30303/tcp+udp
本文参考:
https://blog.csdn.net/sitebus/article/details/126889385
https://docs.prylabs.network/docs/install/install-with-script