以太坊节点流程
文章搭建环境为 Ubuntu 20.04, 但适用于所有 Linux 系统
1. 从github获取源代码
项目地址:https://github.com/ethereum/go-ethereum
2. 编译可执行文件
前提条件:Golang 1.11以上版本,Linux搭建Golang开发环境
cd go-ethereum
make geth
3. 配置环境变量
vi ~/.bashrc
export ETHPATH=/mnt/go-ethereum/build/bin
export PATH=$ETHPATH:$PATH
source ~/.bashrc
4.启动节点
nohup geth --datadir /mnt/eth_data --cache 4096 --rpc --rpcport 8545 --rpcaddr 0.0.0.0 --rpcapi txpool,eth,web3,admin,personal,net --allow-insecure-unlock --wsorigins "*" >> geth.log 2>&1 &
--datadir:节点数据存放目录 /mnt/eth_data
--cache: 缓存大小 4G, 在同步数据时,节点会对数据进行校验,所以理论上说缓存,CPU性能,网络都会影响同步效率,所以 cache 可根据内存情况适当扩大。
--rpcport: RPC端口 8545,
未指定同步模式,默认为 “full”,可通过 --syncmode 标签设置,例如 --syncmode "fast"
5.检查
节点启动后,会在 /mnt/eth_data 目录下生成一个 geth.ipc 文件,我们通过这个文件进入JS 控制台
geth attach /mnt/eth_data/geth.ipc #进入控制台
通过在控制台输入指令检查同步状态
> eth.syncing #同步状态
> net.peerCount #节点链接数
6.问题
在节点同步过程中如果有疑问请参考这篇文章,以太坊数据同步常见问题集锦
节点搭建完成!!!
有问题或意见欢迎留言!