本系列将系统介绍如何在谷歌云服务器上部署以太坊节点。
在以太坊完成合并之后,原来的以太坊eth1只负责执行,而共识层则由信标链(beacon chain)完成。
部署以太坊节点需要完成3个步骤:
运行执行层客户端,可以选择Geth,Nethermind,Besu 等
运行共识层客户端,可以选择Prysm, Lighthouse, Teku 等
运行验证节点(下一篇文章会进行分享)
以太坊节点的部署总览可以参考下面这张图(来自Somer Esat的medium):
本文将以运行CentOS 8的Linux系统为例,使用Geth作为执行层客户端,Prysm作为共识层客户端进行演示。主要原因是它们都是各自使用最多的客户端程序(下图),意味着相关文档和话题也最多。
在/home/master目录下创建ethereum文件夹,以及consensus和execution两个子文件夹。
前往consensus文件夹并运行以下命令下载Prysm客户端:
mkdir prysm && cd prysm
curl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh && chmod +x prysm.sh
使用客户端创建jwt token。jwt token将用来帮助验证共识层和执行层的客户端的数据交互。
./prysm.sh beacon-chain generate-auth-secret
将生成的jwt.hex文件放在consensus文件目录下。
通过以下命令更新服务器
yum update
前往下面的网址查找最新的linux版本geth安装包
https://geth.ethereum.org/downloads/,截至2022年10月10日,最新的安装包地址为:
https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.10.25-69568c55.tar.gz
前往ethereum/execution/目录,使用wget 命令下载geth安装包
wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.10.25-69568c55.tar.gz
4. 使用tar -xvf 解压缩
tar -xvf geth-linux-amd64-1.10.25-69568c55.tar.gz
5. 将文件移至 /usr/bin 目录下,从而令全系统都可以使用geth命令
cp geth-linux-amd64-1.10.25-69568c55/geth /usr/bin/
6. 检查版本
geth version
此时,运行以下命令,令执行层节点在goerli测试网上的运行:
geth --goerli --http --http.api eth,net,engine,admin --authrpc.jwtsecret /home/master/ethereum/consensus/jwt.hex
至此,执行层的客户端安装已经完成。
wget https://github.com/eth-clients/eth2-networks/raw/master/shared/prater/genesis.ssz
2. 运行Prysm启动共识层客户端
./prysm.sh beacon-chain --execution-endpoint=http://localhost:8551 --prater --jwt-secret=/home/master/ethereum/consensus/jwt.hex --genesis-state=genesis.ssz
为了保证程序在窗口关闭后仍能保持运行,这里使用nohup,并将log存入/ethereum/log目录下:
nohup geth --goerli --http --http.api eth,net,engine,admin --authrpc.jwtsecret /home/master/ethereum/consensus/jwt.hex > /home/master/ethereum/log/geth.txt 2>&1 &
nohup ./prysm.sh beacon-chain --execution-endpoint=http://localhost:8551 --prater --jwt-secret=/home/master/ethereum/consensus/jwt.hex --genesis-state=genesis.ssz > /home/master/ethereum/log/prysm.txt 2>&1 &
2. 安装geth