ETH 2.0主网节点搭建教程(geth+prysum)

Posted by 夜空 on December 15, 2022

ETH 2.0主网节点搭建教程(geth+prysum)


系统配置:

cpu: 8核

内存: 16G及以上

系统盘: 60G

数据盘: 2T及以上

系统: centos 7 (64位)

带宽: 独享 100M



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.加速共识层数据同步速度

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