摘要
Sepolia 是以太坊智能合约开发的主要测试网。本页面提供官方链设置、RPC 端点、水龙头链接以及常见用法模式,帮助您快速测试 dApp。无论您需要公共端点还是专用 RPC 提供商,我们都会介绍需要注意的事项。
Sepolia RPC 决策清单
在开始 Sepolia 测试之前,请确保你已准备好:
- 一个可用的 RPC 端点(公共或私有)
- 从水龙头获取足够的测试 ETH
- 钱包或应用中的正确链 ID(11155111)
- 用于调试的区块浏览器(例如 Sepolia Etherscan)
- 了解公共端点的速率限制
什么是 Sepolia ETH RPC 端点?
Sepolia ETH RPC 端点是以太坊测试网的网关。Sepolia 是推荐给开发者的以太坊测试网,它取代了 Goerli,提供了更稳定且更友好的水龙头环境。Sepolia RPC 端点是你通过 JSON-RPC 与 Sepolia 区块链交互的 URL。你可以运行自己的节点,也可以使用像 OnFinality 这样的提供商,无需基础设施开销即可访问可靠的端点。
Sepolia 测试网是一个无需许可的以太坊 PoS 网络,与主网高度相似。它支持所有以太坊虚拟机(EVM)功能,非常适合在主网部署前测试智能合约、dApp 和工具。
Sepolia 链设置
以下是官方链参数:
| 参数 | 值 |
|---|---|
| 网络名称 | Ethereum Sepolia |
| 链 ID | 11155111 (0xaa36a7) |
| 货币符号 | SepoliaETH |
| RPC URL(公共) | https://ethereum-sepolia-rpc.publicnode.com |
| WebSocket URL | wss://ethereum-sepolia-rpc.publicnode.com |
| 区块浏览器 | https://sepolia.etherscan.io |
| 共识机制 | PoS(信标链,验证者退出) |
如何获取 Sepolia ETH(水龙头)
SepoliaETH 用于支付测试网的 gas 费用。与主网不同,它没有实际价值,可以从水龙头获取。流行的水龙头包括:
- Alchemy Sepolia 水龙头 – 需要账户登录
- Infura 水龙头 – 需要 Infura 账户
- Chainlink 水龙头 – 通过钱包连接即可轻松使用
- PublicNode 水龙头 – 无需登录,数量有限
大多数水龙头限制每天一次请求以防止滥用。如果进行大量测试需要更多,请考虑运行自己的节点或使用 OnFinality 等专用提供商,例如以太坊 Sepolia RPC。
使用 Sepolia RPC:设置和代码示例
步骤 1:选择你的端点
选择公共或私有 RPC 端点。对于开发,使用像 https://ethereum-sepolia-rpc.publicnode.com 这样的公共端点即可。对于生产测试,请考虑具有更高吞吐量的专用 Sepolia RPC 提供商。
步骤 2:配置你的钱包或应用
- MetaMask:前往设置 > 网络 > 添加网络。输入:
- 网络名称:Ethereum Sepolia
- RPC URL:你选择的端点(例如公共端点)
- 链 ID:11155111
- 货币符号:SepoliaETH
- 区块浏览器:https://sepolia.etherscan.io 点击保存。
- ethers.js:使用
new ethers.JsonRpcProvider("YOUR_RPC_URL"),如下所示。
步骤 3:从水龙头获取 SepoliaETH
使用上面列出的某个水龙头为你的测试钱包充值。
步骤 4:运行基本查询
curl:
curl -X POST https://ethereum-sepolia-rpc.publicnode.com \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
JavaScript (ethers.js):
const { ethers } = require("ethers");
const provider = new ethers.JsonRpcProvider("https://ethereum-sepolia-rpc.publicnode.com");
async function getBlock() {
const blockNumber = await provider.getBlockNumber();
console.log("Sepolia block number:", blockNumber);
}
getBlock();
发送交易:
const privateKey = "YOUR_PRIVATE_KEY"; // From a wallet funded with SepoliaETH
const wallet = new ethers.Wallet(privateKey, provider);
const tx = {
to: "0xRecipientAddress",
value: ethers.parseEther("0.01"),
};
wallet.sendTransaction(tx).then(console.log);
常见的 Sepolia RPC 方法
Sepolia 支持所有标准的以太坊 JSON-RPC 方法。以下是最常用的:
| 方法 | 描述 |
|---|---|
eth_blockNumber | 获取最新区块号 |
eth_getBalance | 获取地址的 ETH 余额 |
eth_sendRawTransaction | 提交已签名的交易 |
eth_getTransactionReceipt | 根据交易哈希获取收据 |
eth_call | 执行合约调用(只读) |
eth_getLogs | 检索事件日志 |
eth_estimateGas | 估算交易的 gas |
选择 Sepolia RPC 提供商:评估标准
公共端点是免费的,但通常有速率限制(例如每秒 100 次请求)。对于生产测试或 CI/CD 管道,专用 RPC 提供商提供更高的吞吐量、WebSocket 支持和存档数据。根据以下标准评估提供商:
| 标准 | 检查内容 | 重要性 |
|---|---|---|
| 速率限制 | 每秒请求数、每日上限 | 防止大量测试时中断 |
| 正常运行时间 | 历史正常运行数据 | 确保持续集成的可用性 |
| 支持的方法 | 存档调用、trace、debug | 某些 dApp 功能所需 |
| WebSocket | 实时事件流 | 钱包和 dApp 订阅必需 |
| 定价 | 免费层与付费计划 | 与开发预算匹配 |
| 地理覆盖 | 多个区域 | 全球降低延迟 |
| 文档 | API 参考、示例 | 加快集成速度 |
OnFinality 提供专用 Sepolia RPC 端点,具有可扩展计划、WebSocket 和存档支持。比较我们的 RPC 定价 以找到最合适的方案。
故障排除与调试
- "Nonce 过低":交易 nonce 已过时。使用带有
"pending"参数的eth_getTransactionCount。 - "资金不足":你需要更多 SepoliaETH。使用水龙头。
- 超时:公共端点在高峰使用期间可能变慢。考虑使用专用提供商。
- 区块浏览器不显示:等待区块传播。Sepolia 每 12 秒出一个区块。
eth_getLogs未返回日志:验证合约地址和事件签名。使用带有正确fromBlock和toBlock的过滤器对象。- WebSocket 断开:确保你的提供商支持 WebSocket 重连。某些公共端点有连接限制。
- 超出速率限制:公共端点通常限制请求次数。切换到具有更高限制的提供商或添加 API 密钥认证。
关键要点
- Sepolia 是主要的以太坊测试网;链 ID 为 11155111。
- 使用可靠的 RPC 端点——快速测试用公共端点,严肃开发用专用端点。
- 在发送交易之前始终从水龙头获取测试 ETH。
- 支持所有标准的以太坊 JSON-RPC 方法。
- 选择提供商时考虑速率限制、WebSocket 和存档访问。
常见问题
Sepolia RPC URL 是什么?
公共 RPC URL 是 https://ethereum-sepolia-rpc.publicnode.com。许多提供商提供替代端点。
如何将 Sepolia 添加到 MetaMask? 打开 MetaMask > 设置 > 网络 > 添加网络。输入:网络名称:Ethereum Sepolia,RPC URL:[见上方],链 ID:11155111,货币符号:ETH,区块浏览器:https://sepolia.etherscan.io。然后保存。
Sepolia 仍然活跃吗? 是的,Sepolia 是推荐的以太坊测试网。PoW 测试网 Goerli 已弃用。
我可以在生产环境中使用 Sepolia 吗? 不可以,Sepolia 是测试网。生产环境使用以太坊主网。
Sepolia 和 Holesky 有什么区别? Sepolia 用于 dApp 测试;Holesky 用于质押和基础设施测试。两者都处于活动状态。
Sepolia 支持多少笔交易每秒? Sepolia 大致镜像以太坊主网,约 15 TPS,取决于区块 gas 限制。