ETH全节点搭建(2024)

目录

一、服务器配置二、系统环境三、节点安装部署四、启动ETH信标客户端五、启动ETH执行客户端六、节点状态监听七、注意事项

 


很久没写博客了,最近发生了好多好多事,好像做了一个梦… 又回到了熟悉的生活方式,希望还是从前的我,不忘初心、励志前行。

 

 

[全节点建议配置]

系统:Linux

CPU:16核

内存:128GB内存

带宽:1G以上

硬盘:大于4T  固态SSD可用空间数据盘

 

 

本次搭建使用配置系统:ubuntu22.04 CPU:32核心64线程内存:128GB内存带宽:1G上下对等硬盘:ssd4T

回到顶部

一、服务器配置

系统:Linux
CPU:16核
内存:128 GB 内存
带宽:1G以上
硬盘:大于4T固态SSD可用空间数据盘

本次搭建使用配置

系统:ubuntu22.04
CPU:32核心64线程
内存:128GB 内存
带宽:1G上下对等
硬盘:ssd 4T
区域:USA

eth github地址:https://github.com/ethereum/go-ethereum

搭建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

如下显示则安装正确。

?

1
2

[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 + shift + a + d 回到主会话即可

回到顶部

五、启动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 #当前同步到区块高度

停止执行客户端节点

打开eth窗口:
  screen -x eth
然后按ctrl+c即可

停止信标客户端节点

打开prysm窗口:
screen -x prysm
然后按ctrl+c即可

回到顶部

七、注意事项

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

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

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

2 prysm一直同步等待

最难受的就是同步等待,有的等待同步一周甚至更久... 一般是带宽或者硬件配置不够

 


如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...