ETH全节点搭建教程(2024)

一、服务器配置全节点建议配置系统:LinuxCPU:16核内存:64GB内存带宽:50M以上硬盘:大于4T固态SSD可用空间数据盘本次搭建使用配置系统:ubuntu22.04CPU:32核心64线程内存:64GB内存带宽:1G上下对等硬盘:ssd4T区域

<!--StartFragment-->

一、服务器配置

  • [全节点建议配置]
系统:Linux
CPU:16核
内存:64 GB 内存
带宽:50M以上
硬盘:大于4T固态SSD可用空间数据盘
  • 本次搭建使用配置
系统:ubuntu22.04
CPU:32核心64线程
内存:64GB 内存
带宽:1G上下对等
硬盘:ssd 4T
区域:HK

搭建eth全节点需要执行客户端和信标节点客户端都保持同步。本次搭建执行客户端使用geth,信标节点客户端使用Prysm

二、系统环境

  • 更新ubuntu软件包
apt-get upgrade
  • 安装git
apt install git
  • 安装Golang (安装 Go 主要是为了去编译 go-ethereum 源码)
apt install golang

此命令如果安装不上,请自行度娘手动编译安装最新版本Golang,需要 Go(1.19 或更高版本)

使用go version确认安装正确

go version

如下显示则安装正确。

[root@localhost ~]# go version
go version go1.19 linux/amd64
  • 安装linux下的窗口管理器工具screen
apt install screen

三、节点安装部署

  • 安装ETH版本的prysm
 cd /                       #进入根目录
 mkdir eth                  #创建eth文件夹
 cd eth
 mkdir consensus
 mkdir execution
 cd consensus
 mkdir prysm && cd prysm
 curl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh && chmod +x prysm.sh
 ./prysm.sh beacon-chain generate-auth-secret
  • 安装ETH版本的geth
 cd /eth                        #进入eth目录
 git clone https://github.com/ethereum/go-ethereum.git
 make geth 
 cd go-ethereum/build/bin

四、启动ETH信标客户端

screen -S prysm   #创建prysm启动窗口
./prysm.sh beacon-chain --execution-endpoint=http://localhost:8551 --jwt-secret=/eth/consensus/prysm/jwt.hex

然后按ctrl+ad回到主会话即可

五、启动ETH执行客户端

screen -S eth   #创建eth启动窗口
 ./geth --cache 10240   --datadir ./node --ws --ws.port 8546 --ws.addr 0.0.0.0 --ws.origins '*' --authrpc.addr localhost --authrpc.port 8551 --authrpc.vhosts localhost --maxpeers=300 --authrpc.jwtsecret /eth/consensus/prysm/jwt.hex --state.scheme=path

参数说明: –datadir:指定ETH节点数据库和密钥存储库的数据目录(默认即可) –cache:设置最大分配给内部缓存的内存,默认:1024(设置越大,每次同步的数据越多,消耗的内存也越大) –rpc.allow-unprotected-txs:允许通过RPC提交不受保护的(非 EIP155 签名)交易 –txlookuplimit 0 : 禁用删除事务索引

六、节点状态监听

geth attach http://localhost:8545     #端口如果修改配置文件了,就填写配置文件的端口即可
> eth.syncing                         #查看当前区块情况,结果为false表示已同步最新区块

说明:

currentBlock: 14290861, #当前同步到区块高度 highestBlock: 14297354, #主网当前高度 knownStates:297473485, pulledStates: 297473485, startingBlock: 14270385

> net.peerCount   #查看当前连接节点数量
> eth.blockNumber #当前同步到区块高度

退出请按 ctrl+d 回到主会话。

  • 停止执行客户端节点

打开eth窗口

screen -x eth

然后按 ctrl+c 即可

  • 停止信标客户端节点

打开prysm窗口

screen -x prysm

然后按 ctrl+c 即可

七、注意事项

eth链主网浏览器浏览器:<https://cn.etherscan.com/>

本次教程服务器配置同步到最高区块用了大概72小时左右就追到了最高区块。作者使用过很多服务器同步eth,同步过程中常见错误,如

geth同步到某个区块卡着不在同步

prysm一直同步等待

最难受的就是同步等待,有的等待同步一周甚至更久,加我可以和我交流。

不懂的加我q(2857775253),有bsc、eth节点租用,支持监听内部交易哦\~

<!--EndFragment-->

  • 原创
  • 学分: 0
  • 标签:
点赞 0
收藏 0
分享

0 条评论

请先 登录 后评论
鬼才链(v+transbsc)
鬼才链(v+transbsc)
江湖只有他的大名,没有他的介绍。