摘要
Sepolia 是以太坊推荐的用于应用程序开发的测试网。本页涵盖连接所需的链设置、如何为测试与生产选择 RPC 端点,以及调试测试网交易时的常见故障模式。
快速参考:Sepolia 链设置
在连接 Sepolia 之前,您需要规范的网络参数。这些是您将输入到钱包、dApp 配置或部署脚本中的相同值。
| 设置 | 值 |
|---|---|
| 网络名称 | Sepolia |
| 链 ID | 11155111 (0xaa36a7) |
| 货币符号 | SepoliaETH (ETH) |
| 区块浏览器 | https://sepolia.etherscan.io |
| 共识 | 权益证明 (PoS) |
| 出块时间 | ~12 秒 |
Sepolia 是以太坊推荐的用于应用程序开发的测试网。它取代了 Goerli 成为大多数工具默认的测试网,并旨在紧密模拟主网条件。由于它是一个 PoS 网络,您可以在不冒真实资金风险的情况下测试与质押相关的流程和 EIP-1559 费用机制。
为 Sepolia 选择 RPC 端点
您对 Sepolia RPC 端点的选择取决于您正在构建的内容以及您预期的流量。对于快速的本地测试,公共端点就足够了。对于 CI 管道、团队暂存环境或公共测试网 dApp,您需要更可靠的东西。
以下是一个快速决策指南:
- 原型开发或一次性调用:使用公共端点。它是免费的,无需注册,但可能会受到速率限制或偶尔不可用。
- 自动化测试或 CI:使用具有更高速率限制的专用端点。当您的测试套件并行运行许多请求时,共享的公共端点可能会限制您。
- 公共测试网 dApp 或水龙头:使用提供稳定端点和 WebSocket 支持的托管 RPC 提供商。您不希望您的演示因公共端点宕机而失败。
- 使用 trace 或 archive 数据进行调试:检查提供商是否支持
trace_*方法或 archive 状态。并非所有 Sepolia 端点都支持。
对于生产级测试网基础设施,请考虑使用像 OnFinality 这样的托管 RPC 服务。OnFinality 为 Sepolia 和其他测试网提供专用端点,具有可配置的速率限制和 archive 数据访问。您可以在 RPC 定价页面 上比较计划。
公共 Sepolia RPC 端点
有几个公共端点可用于 Sepolia。它们对于快速实验很有用,但在可靠性和隐私方面存在权衡。
| 提供商 | 端点 | 备注 |
|---|---|---|
| PublicNode | https://ethereum-sepolia-rpc.publicnode.com | 免费,无需注册,支持 WebSocket |
| Tenderly | https://sepolia.gateway.tenderly.co | 免费层,需要账户才能获得更高限制 |
| 1RPC | https://public.1rpc.io/sepolia | 注重隐私,免费 |
| Ankr | https://rpc.ankr.com/eth_sepolia | 免费层,速率受限 |
| OnFinality | https://ethereum-sepolia.rpc.onfinality.io | 托管,需要 API 密钥,更高限制 |
公共端点通常受到速率限制,并且可能不保证正常运行时间。如果您正在构建严肃的测试网应用程序,则不应将它们作为主要端点依赖。
将 Sepolia 添加到 MetaMask
如果您在浏览器中测试 dApp,您可能会将 Sepolia 添加到 MetaMask。该过程很简单:
- 打开 MetaMask 并点击顶部的网络选择器。
- 点击“添加网络”,然后点击“手动添加网络”。
- 填写以下详细信息:
- 网络名称:Sepolia
- 新的 RPC URL:
https://ethereum-sepolia-rpc.publicnode.com(或您首选的端点) - 链 ID:
11155111 - 货币符号:
SepoliaETH - 区块浏览器 URL:
https://sepolia.etherscan.io
- 点击“保存”。
您还可以使用像 RainbowKit 或 Wagmi 这样的钱包连接库以编程方式添加网络。以下是一个使用 viem 的示例:
import { defineChain } from 'viem';
export const sepolia = defineChain({
id: 11155111,
name: 'Sepolia',
nativeCurrency: { name: 'Sepolia Ether', symbol: 'SepoliaETH', decimals: 18 },
rpcUrls: {
default: {
http: ['https://ethereum-sepolia-rpc.publicnode.com'],
},
public: {
http: ['https://ethereum-sepolia-rpc.publicnode.com'],
},
},
blockExplorers: {
default: { name: 'Etherscan', url: 'https://sepolia.etherscan.io' },
},
});
从水龙头获取 Sepolia ETH
为了支付 Sepolia 上的 gas 费用,您需要测试 ETH。有几个水龙头可用,但它们通常有每日限制,并且可能需要身份验证。
- Alchemy Sepolia 水龙头:需要 Alchemy 账户,每天提供 0.5 ETH。
- Infura 水龙头:需要 Infura 账户,每天提供 0.1 ETH。
- PublicNode 水龙头:无需注册,但有限制。
- LearnWeb3 水龙头:无需注册,但有限制。
如果您需要更多测试 ETH 用于大型测试套件,请考虑运行自己的水龙头或使用提供更高水龙头限制的提供商。一些托管 RPC 提供商还提供水龙头服务作为其测试网基础设施的一部分。
进行您的第一个 JSON-RPC 调用
一旦您有了端点,您可以使用一个简单的 curl 请求来验证连接。以下是一个获取最新区块号的示例:
curl https://ethereum-sepolia-rpc.publicnode.com \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
您应该会收到如下响应:
{"jsonrpc":"2.0","result":"0xae9f3a","id":1}
结果是十六进制编码的区块号。您可以将其转换为十进制以查看当前高度。
调试常见的 Sepolia RPC 问题
即使在测试网上,事情也可能出错。以下是常见的故障模式以及如何诊断它们。
| 症状 | 可能的原因 | 修复 |
|---|---|---|
eth_blockNumber 返回错误 | 端点宕机或速率受限 | 尝试另一个端点或检查您的 API 密钥 |
| 交易卡在 pending 状态 | nonce 太低或 gas 价格太低 | 使用 eth_getTransactionByHash 检查,以更高的 gas 重新提交 |
eth_call 返回 execution reverted | 合约逻辑错误 | 使用 tracer 或 debug_traceTransaction(如果支持) |
| WebSocket 频繁断开 | 端点不支持 WS 或有空闲超时 | 使用支持 WS 的提供商,或实现重连逻辑 |
eth_getLogs 返回太多结果 | 区块范围太大 | 缩小范围或使用具有 archive 数据的提供商 |
如果您使用公共端点并看到速率限制错误,请考虑升级到托管提供商。OnFinality 提供具有可配置速率限制的专用 Sepolia 端点,这可以帮助您避免这些问题。有关更多详细信息,请参阅我们的 支持的网络。
Sepolia 与其他测试网
Sepolia 不是唯一的测试网,但它是大多数应用程序开发推荐的选择。以下是一个快速比较:
| 测试网 | 链 ID | 共识 | 用例 |
|---|---|---|---|
| Sepolia | 11155111 | PoS | 通用 dApp 测试,以太坊推荐 |
| Holesky | 17000 | PoS | 质押和协议级测试 |
| Hoodi | 560048 | PoS | 用于质押的新测试网,取代 Holesky |
| Base Sepolia | 84532 | PoS (OP Stack) | 在 Base L2 上测试 |
Sepolia 是大多数开发人员最安全的选择,因为它具有广泛的工具支持和稳定的水龙头生态系统。如果您正在测试质押或验证者行为,Holesky 或 Hoodi 可能更合适。
关键要点
- Sepolia 是以太坊推荐的用于应用程序开发的测试网,链 ID 为
11155111。 - 公共 RPC 端点适合原型开发,但对于可靠的测试网基础设施,请考虑像 OnFinality 这样的托管提供商。
- 始终验证您的端点支持您需要的方法,尤其是 WebSocket 和 trace/archive 方法。
- 使用水龙头获取测试 ETH,但要注意每日限制。
- 通过检查 nonce、gas 和区块范围参数来调试常见问题。
常见问题解答
Sepolia 测试网 RPC URL 是什么?
一个常见的公共端点是 https://ethereum-sepolia-rpc.publicnode.com。对于具有更高限制的托管端点,您可以使用 OnFinality 的 Sepolia RPC,这需要 API 密钥。
Sepolia 链 ID 是什么?
Sepolia 链 ID 是 11155111(十六进制 0xaa36a7)。
如何获取 Sepolia 测试 ETH?
您可以从 Alchemy、Infura 或 PublicNode 等水龙头获取 Sepolia ETH。每个都有每日限制,因此您可能需要多次请求或使用多个水龙头。
Sepolia 是权益证明测试网吗?
是的,Sepolia 于 2022 年过渡到权益证明,反映了以太坊主网的共识机制。
我可以将 Sepolia 用于生产吗?
不可以,Sepolia 是一个测试网,不应用于生产应用程序。它仅用于测试和开发。
OnFinality 支持 Sepolia 吗?
是的,OnFinality 作为其 支持的网络 的一部分提供 Sepolia RPC 端点。您可以在 Ethereum Sepolia 网络页面 上找到更多详细信息。