以太坊2.0如何G网?一篇详尽的入门指南

在加密货币的世界里,“G网”通常指的是“Goerli网络”,一个用于测试和开发的以太坊测试网络,对于想要接触、测试或为以太坊2.0(现在更常被称为“以太坊合并后的以太坊”或“执行层”)做出贡献的开发者和爱好者来说,在Goerli网络上进行操作是至关重要的一步,本文将详细讲解以太坊2.0如何“G网”,即如何连接和参与以太坊的Goerli测试网络。

什么是Goerli网络?

在深入操作之前,我们先简单了解一下Goerli网络:

  • 定位:Goerli(以前叫Testnet)是以太坊最重要的公共测试网络之一,它旨在模拟主网(Mainnet)的环境,但使用的是测试代币,没有实际 monetary 价值。
  • 代币:Goerli网络的代币是Goerli ETH (gETH),可以通过“水龙头”(Faucet)免费获取。
  • 用途:用于测试智能合约、部署DApp、学习以太坊交互、参与测试网激励、验证节点运行等,无需担心损失真实的资金。
  • 共识机制:与主网一样,Goerli在“合并”后也采用了权益证明(PoS)共识机制。

为什么要在Goerli(G网)测试以太坊2.0?

  1. 安全测试:在投入真实资金之前,可以在测试网上充分验证智能合约和应用的逻辑。
  2. 开发调试:开发过程中遇到问题,可以在测试网上复现和调试,不影响主网运行。
  3. 学习实践:对于新手,是熟悉以太坊节点操作、交易发送、合约部署等流程的最佳场所。
  4. 参与生态:许多以太坊生态项目会在测试网上进行空投、测试活动,参与“G网”是获取机会的途径。
  5. 节点运行:如果你想运行以太坊2.0验证者节点,Goerli是测试节点设置和同步过程的理想网络。

以太坊2.0如何“G网”?—— 详细步骤指南

“G网”的核心就是让你的以太坊客户端(如执行层客户端和共识层客户端)连接到Goerli网络,以下是主要步骤:

前提条件:

  • 一台配置尚可的电脑(推荐Linux系统,macOS和Windows也可,但Linux更稳定方便)。
  • 稳定的网络连接。
  • 基本的命令行操作能力。
  • (可选)但推荐:一个以太坊钱包,如MetaMask,并添加Goerli网络。

步骤1:选择并安装以太坊客户端

以太坊“合并”后,需要两个客户端协同工作:

  • 执行层客户端(Execution Layer Client):负责处理交易、智能合约等,以前叫“以太坊1.0客户端”,常见的有:Geth, Nethermind, Erigon。
  • 共识层客户端(Consensus Layer Client):负责PoS共识,以前叫“以太坊2.0客户端”,常见的有:Lodestar, Prysm, Lodestar, Nimbus。

对于初学者,选择流行且文档完善的客户端会更友好。

  • 执行层:Geth
  • 共识层:Prysm 或 Lodestar

安装方法(以Geth和Prysm为例,Linux环境):

  • 安装Geth(执行层)

    # 下载并安装Geth(请参考Geth官方文档获取最新安装命令)
    # 使用snap(Ubuntu系统):
    sudo snap install geth --classic
    # 或者从源码编译/下载二进制文件
  • 安装Prysm(共识层)

    # 克隆Prysm仓库
    git clone https://github.com/prysmaticlabs/prysm.git
    cd prysm
    # 编译Prysm(需要Go环境)
    make install

步骤2:同步Goerli网络数据

  • 同步Geth(执行层)到Goerli: Geth默认连接到主网,我们需要指定连接到Goerli。

    geth --goerli --syncmode snap --http --http.addr "0.0.0.0" --http.port "8545" --http.vhosts "*"
    • --goerli:指定连接到Goerli测试网。
    • --syncmode snap:使用快同步模式,节省时间和空间。
    • --http --http.addr "0.0.0.0" --http.port "8545":开启HTTP API服务,方便其他应用(如MetaMask)连接。
    • 这个命令会开始下载Goerli的区块数据,可能需要较长时间和较多磁盘空间。
  • 同步Prysm(共识层)到Goerli: 在另一个终端窗口运行:

    prysm-beacon-chain --goerli --http-web3provider="http://localhost:8545"
    • --goerli:指定连接到Goerli测试网。
    • --http-web3provider="http://localhost:8545":指定执行层客户端(Geth)的HTTP地址,Prysm需要与执行层交互。
    • 这会开始同步Goerli的共识层( beacon chain)数据。

步骤3:验证同步状态

  • Geth同步状态:可以在Geth终端使用 eth.syncing 命令查看,返回 false 表示同步完成。
  • Prysm同步状态:可以访问Prysm的监控界面,默认通常是 http://localhost:3500/,或者使用命令行工具 prysm beacon-chain status

步骤4:获取Goerli ETH (gETH)

同步完成后,你需要一些gETH来支付交易费用和可能的验证者质押。

  • 水龙头(Faucet):访问Goerli的官方水龙头或社区维护的水龙头网站(goerlifaucet.com,但请注意水龙头可能经常变动或限流,需要搜索最新的可用水龙头)。
  • 操作:按照水龙头网站的提示,通常是输入你的接收gETH的地址(可以是MetaMask中的Goerli地址,或者Geth节点生成的地址),然后完成验证(如 solving captcha、关注推特、加入Discord等)即可领取少量gETH。

步骤5:连接钱包(如MetaMask)到Goerli网络

  1. 打开MetaMask钱包。
  2. 点击网络下拉菜单,选择“添加网络”。
  3. 选择“添加网络 manually”(手动添加网络)。
  4. 填写以下Goerli网络信息:
    • 网络名称:Goerli Test Network
    • RPC URLhttp://localhost:8545 (如果你本地运行了Geth并开启了HTTP服务)或者公共的Goerli RPC URL(可以从Infura、Alchemy等平台获取)。
    • 链ID5
    • 货币符号:gETH
  5. 保存后,MetaMask就会切换到Goerli网络,此时你应该能看到从水龙头领取的gETH余额。

步骤6:(可选)成为Goerli验证者

如果你想在Goerli网络上运行验证者节点(质押至少32 gETH),可以:

  1. 使用Prysm或其他共识层客户端的命令行工具创建验证者账户。
  2. 将获取的gETH通过执行层客户端(如Geth)转账到验证者存款合约地址(Goerli的存款合约地址与主网不同,需查询)。
  3. 启动验证者客户端,开始参与Goerli网络的共识过程。

注意事项与常见问题

  1. 数据同步时间长:测试网同步也可能需要较时间和较多存储空间,建议保持电脑和网络稳定。
  2. 水龙头难用:热门水龙头经常访问量过大,可能需要多次尝试或寻找替代水源。
  3. 客户端版本:尽量使用最新稳定版本的客户端,以避免已知问题。
  4. 安全性:虽然是测试网,但也不要随意下载不明来源的客户端或泄露私钥。
  5. 资源消耗:运行全节点会占用大量CPU、内存和磁盘IO。
  6. 官方文档:遇到具体问题,务必查阅所用客户端的官方文档,那里有最准确的信息。

相关文章