5月28日 04:10

以太坊测试网络有哪些?Sepolia 和 Hoodi 怎么选?

以太坊测试网络是与主网功能相同的独立区块链,专门用于开发和测试。核心区别就一个:测试网的 ETH 没有实际价值,可以免费获取,所以你可以在上面随意试错,不用担心亏钱。

目前以太坊有两个活跃测试网,用途完全不同:

  • Sepolia(Chain ID: 11155111):智能合约和 DApp 开发的标准测试环境,PoS 共识,预计支持到 2026 年 9 月。验证者集是许可制的,由客户端团队维护,网络状态稳定可预测
  • Hoodi(Chain ID: 560048):2025 年 3 月上线,专门用于验证者和质押相关的测试,替代已弃用的 Holesky

Goerli(2024 年 1 月 EOL)和 Holesky(2025 年 9 月关闭)均已弃用,新项目不要再用了。很多教程还在推荐 Goerli,那些水龙头早就不能用了。

追问

Sepolia 和 Hoodi 怎么选?能互相替代吗?

不能。两者分工明确:

SepoliaHoodi
适用场景合约开发、DApp 测试验证者部署、质押流程测试
验证者集许可制(客户端团队运营)开放参与(任何人可运行验证者)
测试 ETH水龙头供应充足,无上限需要运行验证者才能获得
链状态轻量,同步快完整状态,同步较慢

写合约用 Sepolia,跑节点/测质押用 Hoodi,不要混用。

测试网水龙头怎么用?常用的有哪些?

Sepolia 目前可用的水龙头(Goerli/Holesky 的基本全挂了):

  • Alchemy Faucet:登录 Alchemy 账号,每日领 0.1 SepoliaETH
  • Infura Faucet:登录 Infura 账户,每日 0.05 ETH
  • Google Cloud Web3 Faucet:Google 账号认证即可
  • QuickNode Faucet:需主网持有 0.001 ETH(防刷机制),每日 0.05 ETH

踩坑提醒:大部分水龙头需要身份验证或主网余额证明,完全无门槛的越来越少。如果急需大量测试币,可以本地跑 Anvil 或 Hardhat Network,想铸多少铸多少。

从测试网部署到主网,最容易踩什么坑?

三件事:

  1. RPC 节点搞混sepolia.infura.iomainnet.infura.io 只差一个词,配错会导致交易发到错误网络。建议用环境变量 process.env.RPC_URL 而不是硬编码
  2. Gas 策略没适配:测试网 Gas 接近零,主网需要动态设置 maxFeePerGasmaxPriorityFeePerGas,否则交易长时间 pending
  3. 合约地址变了:每次部署地址都不同,前端 hardcode 的合约地址必须随网络切换。推荐用部署脚本自动写入配置文件
javascript
// 正确做法:部署后自动导出地址 const contract = await MyContract.deploy(); await contract.deployed(); fs.writeFileSync( `addresses/${network.name}.json`, JSON.stringify({ MyContract: contract.address }) );

测试网数据会丢吗?合约需要重新部署吗?

会的。Rinkeby、Goerli 都经历过弃用关闭,链上数据直接不可访问。Sepolia 目前稳定但以太坊基金会明确表示测试网不保证数据永久性。

实际影响:合约代码不会自动迁移到主网,必须在主网重新部署,地址会变。所以一定要备份合约 ABI、部署地址、关键交易哈希,不要依赖测试网浏览器永久可查。

什么时候用本地网络,什么时候上 Sepolia?

开发阶段用本地网络(Hardhat Network / Anvil / Ganache),秒级出块、随时重置、零成本。逻辑验证完了再上 Sepolia,主要验证三件事:跨合约调用是否正常、Gas 估算是否准确、MetaMask 等钱包连接是否顺畅。本地网络解决"功能对不对",Sepolia 解决"真实环境下行不行"。

写段代码

javascript
// Hardhat 多网络配置 module.exports = { networks: { hardhat: { chainId: 31337 }, sepolia: { url: process.env.SEPOLIA_RPC_URL, accounts: [process.env.PRIVATE_KEY] } }, solidity: "0.8.24" };
bash
# 部署到不同网络 npx hardhat run scripts/deploy.js --network hardhat # 本地测试 npx hardhat run scripts/deploy.js --network sepolia # 测试网验证
标签:以太坊