eth2.0 节点搭建教程

本文以Centos7环境为例,同时提供了主网测试网的eth2.0节点搭建教程。阅读时需要特别注意加入的网络和参数。

eth版本主网代号测试网代号
eth1.0mainnetgoerli
eth2.0mainnetpyrmont

例如:加入主网的话,eth1.0节点和beacon节点都加入mainnet即可;如果是加入测试网,eth1.0节点需要加入goerli测试网,beacon节点需要加入pyrmont测试网。

eth2.0节点搭建教程可以简化为以下几个步骤:

  1. 生成validator相关文件
  2. 运行并同步eth1.0节点
  3. 运行并同步beacon节点
  4. 导入钱包并运行validator

测试网的代币领取地址:https://faucet.goerli.mudit.blog/

1. 生成validator相关文件

validator相关文件有两个:

1. deposit_data-***.json
2. keystore-***.json

加入的网络不同,参数也需要不同,而且生成的validator相关文件当中的部分参数也不同,不能混淆使用。
下载源码

git clone -b master --single-branch https://github.com/ethereum/eth2.0-deposit-cli.git

安装配置好python3,然后执行并生成 主网validator相关文件

python3 setup.py install
pip3 install -r requirements.txt
python3 ./eth2deposit/deposit.py new-mnemonic --chain mainnet

执行,生成 ***测试网***的validator相关文件

python3 setup.py install
pip3 install -r requirements.txt
python3 ./eth2deposit/deposit.py new-mnemonic --chain pyrmont

注意:–chain参数声明了你要生成的validator相关文件对应的网络类型。

2. 安装、运行eth1.0节点

  1. 下载并安装geth https://geth.ethereum.org/downloads/
  2. 执行以下脚本即可运行geth加入 主网 并开始同步
nohup geth --datadir <your_eth1_mainnet_data_dir> --syncmode "fast" --rpc --rpcaddr 0.0.0.0 --rpcport 8545 --rpccorsdomain "*" --rpcapi web3,personal,admin,db,net,eth,miner,rpc,txpool,clique

若要加入 goerli测试网,执行:

nohup geth --datadir <your_eth1_goerli_data_dir>  --syncmode "fast" --rpc --rpcaddr 0.0.0.0 --rpcport 8545 --rpccorsdomain "*" --rpcapi web3,personal,admin,db,net,eth,miner,rpc,txpool,clique --goerli

注意:不建议eth1.0节点输出日志,可能导致磁盘io过大,同步跟不上。

3. 安装、运行beacon节点

等待eth1.0节点同步完成,即可开始安装beacon节点。这里使用prysm,建议编译源码安装https://gitee.com/HAYPO/prysm.git
在源代码目录下执行并加入 主网

sh prysm.sh beacon-chain --datadir=<your_beaconnode_mainnet_data_dir> --http-web3provider=<YOUR_ETH1_NODE_ENDPOINT>

若要加入pyrmont测试网执行并加入 pyrmont测试网

sh prysm.sh beacon-chain --datadir=<your_beaconnode_pyrmont_data_dir> --http-web3provider=<YOUR_ETH1_NODE_ENDPOINT> --pyrmont

注意:beacon节点datadir的和eth1.0节点的datadir不是同一个路径。执行上面的命令后会在dist文件夹下产生可执行文件。YOUR_ETH1_NODE_ENDPOINT是eth1的http路径。不建议beacon节点输出日志,可能导致磁盘io过大,同步跟不上。

完成质押

主网:访问https://launchpad.ethereum.org/完成资料填写、上传 主网deposit_data-***.json,将会发送合约交易,并质押32ETH
测试网:访问https://pyrmont.launchpad.ethereum.org/完成资料填写、上传 测试网deposit_data-***.json,将会发送合约交易,并质押32GoETH

4. 导入钱包账户,运行validator

执行命令,输入密码和钱包路径,完成导入。

主网

sh prysm.sh validator accounts import --keys-dir=<your_mainnet_validator_keys_dir>

pyrmont测试网

sh prysm.sh validator accounts import --keys-dir=<your_pyrmont_validator_keys_dir> --pyrmont

/eth2.0-deposit-cli/validator_keys就是上面的validator相关文件路径。需要设置一个 总密码 ,管理钱包路径里的全部账户

运行validator
执行命令,运行validator

主网

sh prysm.sh validator --wallet-dir=<your_wallet_dir>  --wallet-password-file=<your_wallet_password_dir>/password.txt > <your_log_dir>/validator.log

测试网

sh prysm.sh validator --wallet-dir=<your_wallet_dir>  --wallet-password-file=<your_wallet_password_dir>/password.txt > <your_log_dir>/validator.log --pyrmont

注: <your_wallet_password_dir>/password.txt保存的是 总密码 ,这样可以保持validator后台运行并且输出日志。

等待5-12小时,加入eth2.0
主网查看加入进度访问https://beaconcha.in
测试网查看加入进度访问https://pyrmont.beaconcha.in


注意事项!!!!

  • 注意服务器的相关端口需要打开:

ServiceDefault Port
Geth30303TCP/UDP
Lighthouse9000 TCP/UDP
Nimbus9000 UDP/TCP
Prysm12000 UDP, 13000 TCP
Teku9000 TCP/UDP
  • 服务器时间需要同步

  • 需要运行并同步eth1.0主网节点

  • 验证beacon节点

curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://<你的eth1.0节点的地址>:8545

上面的8545可以替换成实际使用的端口。如果返回客户端版本号说明验证通过

  • 保持系统同时运行 Beacon-chain 和 Validator 两个进程,然后等待 Validator 激活,持续获得收益。

  • 若要监控beacon节点和validator的状态可以使用grafana

<版权归属HAYPO所有,未经授权不允许转载>

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值