ETH主网节点同步搭建教程

Posted by 夜空 on May 24, 2022

ETH主网节点同步搭建教程


系统配置:

cpu: 8核

内存: 16G及以上

系统盘: 60G

数据盘: 2T及以上

系统: centos 7 (64位)

带宽: 独享 100M



1.下载geth
wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.10.15-8be800ff.tar.gz

tar zxf geth-linux-amd64-1.10.15-8be800ff.tar.gz 
cd geth-linux-amd64-1.10.15-8be800ff

cp geth /usr/bin/

geth version

Geth Version: 1.10.15-stable Git Commit: 8be800ffa9c4992666e2620e0ab4725a1a83352b Git Commit Date: 20220105 Architecture: amd64 Go Version: go1.17.5 Operating System: linux GOPATH= GOROOT=go

  • 可以看到geth的版本是1.10.15,这个版本我可以成功同步到最新的区块高度,低于这个版本的中间都会出现一些奇奇怪怪的问题.
2.启动节点
mkdir /data/eth_data

nohup geth --cache=8192 --datadir /data/eth_data --http --http.addr 0.0.0.0 --http.port 8545 --http.api "txpool,eth,web3,admin,personal,net,db" --port 30303 --allow-insecure-unlock --http.corsdomain "*" --maxpeers 999  --maxpendpeers 999 --allow-insecure-unlock --snapshot=false --gcmode=archive > /data/output.log 2>&1 &
  • –datadir value 节点数据存放目录/data/eth_data 
  • –cache value 分配给内部缓存的内存MB数量,默认为 128,这里我设置为8G,这个值在同步数据时,节点会对数据进行校验,所以可以根据你服务器配置来设大一些提高数据同步效率.
  • –http.addr value HTTP-RPC服务器接口地址(默认值:"localhost"),默认只允许本地连接,设置为 0.0.0.0 可以接收任何地址发来的连接请求.
  • –http.port value HTTP-RPC服务器监听端口(默认值:8545),可以改为不同的端口
  • –http.api value 基于HTTP-RPC接口提供的API

在低版本里的–rpcaddr和–rpcport等这些参数好像都被取消,我在geth的帮助信息里没有找到.

3.geth客户端登陆操作
#登陆
geth attach ipc:/data/eth_data/geth.ipc
#查看状态
eth
#查看最新区块高度
eth.blockNumber
#查看同步状态,返回 false 未同步或同步到最新了
eth.syncing

注意事项:
  1. 同步的时候最好把 30303 这个端口对外开放.
  2. 8545 这个端口不对外开放,只对内网开放.

本文参考:

Geth搭建Ethereum私链

ETH Geth节点配置参数