摘要
获取以太坊 Sepolia RPC 端点、链 ID 和网络设置,用于钱包和 dApp。了解如何连接、获取测试 ETH 以及调试此测试网上的常见 RPC 问题。
快速决策:你应该使用哪个 Sepolia RPC?
对于以太坊 Sepolia 上的大多数开发和测试,托管 RPC 端点是开始的最快方式。公共端点如 https://eth-sepolia.api.onfinality.io/public 是免费的,适合轻量使用,但在负载下可能会受到速率限制且可靠性较低。如果你正在构建生产级 dApp、暂存环境或运行需要一致吞吐量的自动化测试,请考虑专用节点或付费 RPC 计划。OnFinality 提供共享和专用的 Sepolia 端点,支持 WebSocket 和归档数据选项。查看 RPC 定价 和 支持的网络 以找到适合你工作负载的方案。
Sepolia 概览
Sepolia 是以太坊面向开发者的主要公共测试网。它模仿主网的利益证明共识,旨在主网部署前测试智能合约、钱包和基础设施。与 Goerli 等旧测试网不同,Sepolia 拥有更小的验证器集,更稳定,是大多数新项目的推荐选择。
Sepolia 的链设置
将 Sepolia 添加到钱包或配置 dApp 时,你需要以下网络参数:
| 参数 | 值 |
|---|---|
| 网络名称 | Ethereum Sepolia |
| RPC URL | https://eth-sepolia.api.onfinality.io/public |
| 链 ID | 11155111 (0xaa36a7) |
| 货币符号 | ETH |
| 区块浏览器 | https://sepolia.etherscan.io |
这些设置在所有兼容 EVM 的钱包和工具中都是一致的。链 ID 至关重要:使用错误的链 ID 可能导致交易广播到错误的网络。
将 Sepolia 添加到 MetaMask
要手动将 Sepolia 添加到 MetaMask:
- 打开 MetaMask,点击顶部的网络下拉菜单。
- 点击“添加网络”或“自定义 RPC”。
- 输入上表中的链设置。
- 点击“保存”。
或者,你可以使用 ChainList 等服务的一键按钮,但手动输入可确保你控制 RPC 端点。
使用 ethers.js 连接
以下是在 Node.js 环境中使用 ethers.js 连接到 Sepolia 的方法:
const { ethers } = require("ethers");
const provider = new ethers.JsonRpcProvider("https://eth-sepolia.api.onfinality.io/public");
async function getBlockNumber() {
const blockNumber = await provider.getBlockNumber();
console.log("Current block number:", blockNumber);
}
getBlockNumber();
对于 viem:
import { createPublicClient, http } from 'viem';
import { sepolia } from 'viem/chains';
const client = createPublicClient({
chain: sepolia,
transport: http('https://eth-sepolia.api.onfinality.io/public')
});
const blockNumber = await client.getBlockNumber();
console.log(blockNumber);
在 Sepolia 上获取测试 ETH
你需要测试 ETH 来支付 Sepolia 上的 gas 费用。与主网不同,这种 ETH 没有实际价值。常见的水龙头包括:
- Alchemy Sepolia 水龙头 – 需要 Alchemy 账户。
- Infura 水龙头 – 需要 Infura 账户。
- 公共水龙头 – 如 sepoliafaucet.com,但可用性各不相同。
水龙头通常有每日限额,可能要求你持有少量主网 ETH 或拥有 GitHub 账户。如果你运行 CI 管道,请考虑从支持更大分配的龙头请求更大的配额。
调试常见的 Sepolia RPC 问题
即使使用可靠的端点,你也可能遇到问题。以下是常见症状和修复方法:
| 症状 | 可能原因 | 修复 |
|---|---|---|
nonce too low | 交易 nonce 不匹配 | 在 MetaMask 中重置账户 nonce,或使用 eth_getTransactionCount 并指定 pending 区块参数 |
insufficient funds | 没有测试 ETH | 从水龙头获取测试 ETH |
rate limit exceeded | 对公共端点的请求过多 | 使用付费计划或专用节点 |
connection refused | RPC URL 错误 | 仔细检查端点 URL 和网络设置 |
block not found | 查询的区块超出节点同步范围 | 使用全节点或归档节点获取历史数据 |
使用 WebSocket 进行实时更新
对于需要实时数据的应用程序,例如待处理交易监控,请使用 WebSocket 端点。OnFinality 为 Sepolia 提供 WebSocket 支持。以下是使用 ethers.js 的示例:
const { ethers } = require("ethers");
const provider = new ethers.WebSocketProvider("wss://eth-sepolia.api.onfinality.io/public/ws");
provider.on("block", (blockNumber) => {
console.log("New block:", blockNumber);
});
注意:确切的 WebSocket URL 可能不同;请查看 Sepolia 网络页面 获取当前端点。
公共与专用 Sepolia RPC
公共端点是免费且方便的,但也有权衡:
- 速率限制:公共端点通常限制每秒请求数,这可能在负载下破坏你的应用。
- 可靠性:它们可能在高使用期间宕机或变慢。
- 隐私:请求是共享的,因此敏感数据可能暴露。
对于严肃的开发,请考虑专用节点或付费 RPC 计划。OnFinality 提供专用的 Sepolia 节点,具有可预测的性能和明确的速率限制,非常适合暂存环境和负载测试。查看 RPC 定价 了解选项。
关键要点
- Sepolia 是以太坊推荐的开发测试网。
- 使用链 ID 11155111 和 RPC URL
https://eth-sepolia.api.onfinality.io/public进行连接。 - 公共端点适合轻量测试,但对于生产级工作负载,请考虑专用节点。
- 调试交易问题时,始终验证你的 nonce 和 gas 设置。
- WebSocket 端点支持 dApp 的实时更新。
常见问题解答
以太坊 Sepolia 的 RPC URL 是什么?
公共 RPC URL 是 https://eth-sepolia.api.onfinality.io/public。你也可以在 Sepolia 网络页面 上找到其他端点。
Sepolia 的链 ID 是什么?
链 ID 是 11155111 (0xaa36a7)。
如何获取 Sepolia 测试 ETH?
使用 Alchemy 或 Infura 等水龙头。你需要登录并提供你的钱包地址。
我可以将 Sepolia 用于生产吗?
不可以,Sepolia 是测试网。仅用于测试和开发。对于生产,请部署到以太坊主网。
Sepolia 和 Goerli 有什么区别?
Sepolia 是当前推荐的测试网,而 Goerli 已弃用。Sepolia 拥有更稳定的验证器集,维护更好。
如何将 Sepolia 添加到我的钱包?
使用本文提供的链设置。大多数钱包允许你添加自定义网络。
Sepolia 的区块浏览器是什么?
官方区块浏览器是 https://sepolia.etherscan.io。
OnFinality 是否支持 Sepolia 的 WebSocket?
是的,OnFinality 为 Sepolia 提供 WebSocket 支持。请查看网络页面获取确切 URL。
公共 Sepolia RPC 的速率限制是多少?
公共端点有速率限制以确保公平使用。如需更高限制,请考虑付费计划或专用节点。
如何解决“nonce too low”错误?
在钱包中重置账户 nonce,或使用 eth_getTransactionCount 并指定 pending 区块参数获取正确的 nonce。