Logo
新用户订阅 RPC,首月享 6.5 折优惠查看优惠
RPC Assistant

Sepolia RPC 端点:公共 URL、链设置以及何时迁移

摘要

公共 Sepolia RPC 端点是一个共享的、无需注册的 HTTPS URL,允许你在以太坊 Sepolia 测试网上读取状态和广播交易。这是将钱包、脚本或 CI 任务指向 Sepolia 的最快方式,但共享容量和共享速率限制使其不适合任何需要可预测吞吐量的场景。本文为你提供链设置、一个可用的 OnFinality 公共端点,并清晰说明何时应切换到托管或专用端点。

Sepolia 是以太坊长期运行的权益证明测试网,而“公共 RPC 端点”是大多数开发者在想要连接它而无需注册任何东西时搜索的短语。这是一个合理的起点:公共端点是一个共享的 HTTPS URL,使用 JSON-RPC 协议,足以将网络添加到钱包、运行快速脚本或解除 CI 任务的阻塞。

问题在于,公共端点被所有找到它的人共享。它们适合探索和轻量测试,但一旦你需要一致的吞吐量、归档数据或 trace 调用,它们就会成为瓶颈。本页面为你提供确切的 Sepolia 链设置、一个可用的公共端点,以及一个简短的框架,帮助你决定何时迁移到托管或专用基础设施。

链设置一览

在将任何内容粘贴到钱包或配置文件之前,请确保这些值正确。大多数“Sepolia RPC 不工作”的报告都归结为链 ID 不匹配或 URL 指向了不同的测试网。

设置以太坊 Sepolia 值
网络名称Ethereum Sepolia
链 ID11155111
货币符号ETH (Sepolia Ether)
小数位18
区块浏览器https://sepolia.etherscan.io
公共 RPC (OnFinality)https://eth-sepolia.api.onfinality.io/public

如果你在 L2 测试网上工作,值会有所不同。Base Sepolia 使用链 ID 84532,Arbitrum Sepolia 使用链 ID 421614。混淆这些是导致交易失败的常见原因,看起来像 RPC 问题,但实际上是网络错误。

公共端点是否足以满足你的工作负载?

在投入时间进行配置之前,请将此作为快速分类。问题不在于公共端点是否有效,而在于它是否适合你即将用它做的事情。

你的情况公共端点通常足够迁移到托管或专用
将 Sepolia 添加到钱包是不需要
一次性脚本和手动测试是不需要
每次推送都部署合约的 CI 任务有时是,如果任务并行运行
有真实测试者的前端 dApp有风险是,为了稳定的吞吐量
跨多个区块索引日志否是,需要归档访问
使用 trace_* 调用进行调试否是,需要启用 trace 的节点
负载或压力测试否是,需要专用容量

一个有用的规则:如果多个进程同时依赖同一个端点,或者一个失败的请求会破坏用户可见的流程,那么你已经超出了公共层级。OnFinality 运行共享和专用的 Sepolia 基础设施,你可以在 Sepolia 网络页面 和 RPC 定价 上比较选项。

使用 curl 和 JSON-RPC 连接

最快的健全性检查是原始 JSON-RPC 调用。这确认端点可达并返回你期望的链。

curl -s https://eth-sepolia.api.onfinality.io/public \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'

正确的响应会以十六进制返回链 ID:

{"jsonrpc":"2.0","id":1,"result":"0xaa36a7"}

0xaa36a7 十进制为 11155111,即以太坊 Sepolia。如果你得到不同的值,说明你指向了错误的网络。如果你得到超时或 429,说明端点可达但被限速,这是考虑托管计划的信号。

另外两个调用值得保留在你的工具包中。eth_blockNumber 告诉你节点是否已同步并跟随链头。使用已知地址的 eth_getBalance 确认状态读取端到端正常工作。

钱包和库配置

在 MetaMask 等浏览器钱包中,手动添加网络并输入上表中的链设置。RPC URL 字段填入公共端点,链 ID 必须是十进制值 11155111。要求十六进制链 ID 的钱包需要 0xaa36a7。

在 JavaScript 中,同样的设置适用。使用 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('Sepolia head:', blockNumber)

使用 ethers v6:

import { JsonRpcProvider } from 'ethers'

const provider = new JsonRpcProvider(
  'https://eth-sepolia.api.onfinality.io/public',
  { chainId: 11155111, name: 'sepolia' }
)

console.log(await provider.getBlockNumber())

显式传递链 ID 值得多写一行。它使网络错误大声失败,而不是静默地将交易发送到错误的链。

从水龙头获取测试 ETH

Sepolia ETH 没有市场价值,但你仍然需要它来支付 gas。水龙头与 RPC 端点分开,大多数水龙头通过登录、主网余额检查或工作量证明挑战来限制访问以防止滥用。

一些实用说明:

  • 水龙头滴水量很小,并且按地址限速。不要期望通过一次请求为大型测试套件提供资金。
  • 如果水龙头拒绝你的地址,通常是因为该地址已经持有超过水龙头阈值的余额。
  • 水龙头的可用性会随时间变化。如果一个不可用,尝试另一个,而不是假设你的 RPC 端点坏了。
  • 保留一个小额储备地址用于 gas,这样你就不必在测试中途重新请求资金。

常见故障模式及如何解读

大多数 Sepolia RPC 问题属于少数几类。错误文本通常会告诉你属于哪一类。

症状可能原因如何处理
429 Too Many Requests共享端点速率限制降低请求速率、批量调用或迁移到托管计划
chainId 不匹配网络错误或链 ID 错误重新检查 11155111 和 RPC URL
nonce too low交易失败后 nonce 过时使用 pending 通过 eth_getTransactionCount 重新同步 nonce
insufficient funds测试钱包为空从水龙头请求测试 ETH
method not found该节点未启用该方法检查该方法是否需要 trace 或归档节点
负载下请求超时共享容量饱和添加备用端点或迁移到专用容量

如果你在调试特定交易,eth_getTransactionReceipt 返回 null 通常意味着交易仍在待处理或从未广播,而不是端点坏了。在假设基础设施问题之前,检查内存池状态。

公共端点不再足够的地方

公共端点是共享资源,共享资源有共享的故障模式。在测试网工作中反复出现三种模式:

并行 CI。 在每个拉取请求上运行的合约部署任务可能在同一秒内触发数十笔交易。在共享端点上,其中一些请求会被限流,任务会以难以在本地复现的方式间歇性失败。

日志密集型索引。 在大区块范围上调用 eth_getLogs 开销很大。公共端点通常会限制范围或直接拒绝查询。如果你的测试设置模仿生产索引器,你需要归档访问和更高的范围限制。

Trace 和调试调用。 debug_traceTransaction 和 trace_* 方法在大多数公共端点上未启用,因为它们计算量大。如果你的测试依赖它们,你需要一个为此配置的节点。

当你遇到其中任何一种情况时,解决办法不是更好的公共 URL。而是具有定义容量的托管端点,或你控制的专用节点。OnFinality 提供两者,如何选择 RPC 提供商 文章更详细地介绍了评估标准。

从公共端点迁移到托管或专用

迁移本身通常是配置更改,而不是重写。工作在于选择正确的层级并设置备用。

  1. 清点你的方法。 列出你的应用调用的每个 JSON-RPC 方法。标记 eth_getLogs、debug_* 和 trace_* 调用,因为这些决定了你需要的节点类型。
  2. 测量峰值,而不是平均值。 测试网流量是突发性的。按你预期的最高分钟来规划规模,而不是日均值。
  3. 决定共享还是专用。 共享托管端点适合大多数 dApp。当你需要隔离容量、自定义配置或负载下可预测的性能时,专用节点才有意义。参见 专用节点 了解涉及的内容。
  4. 添加备用。 即使使用托管端点,也配置第二个 URL,这样单个提供商问题不会导致测试环境瘫痪。
  5. 保留公共端点用于冒烟测试。 没有理由删除它。用它进行快速检查,将托管端点用于任何重要的事情。

如果你也在 L2 上测试,同样的模式适用于 Base Sepolia,它使用链 ID 84532 和不同的公共 URL。将测试网配置放在一个地方,链 ID 和端点并排,可以防止大多数跨网络错误。

关键要点

  • 以太坊 Sepolia 使用链 ID 11155111,符号 ETH,浏览器 sepolia.etherscan.io。
  • 公共 Sepolia RPC 端点适合钱包、一次性脚本和手动测试。
  • 公共端点是共享且限速的,因此并行 CI、日志索引和 trace 调用会遇到限制。
  • 始终在客户端中显式传递链 ID,以便网络错误大声失败。
  • 水龙头与 RPC 端点分开,并且按地址限速。
  • 当你超出公共层级时,迁移到托管或专用端点,并保持配置备用。
  • 在承诺计划之前,浏览 支持的 RPC 网络 并比较 RPC 定价。

常见问题

Sepolia 的公共 RPC 端点是什么?

OnFinality 在 https://eth-sepolia.api.onfinality.io/public 发布了一个公共端点。它通过 HTTPS 使用标准 JSON-RPC,无需 API 密钥。它是共享的,因此将其视为适合开发和轻量测试,而不是生产规模的流量。

Sepolia 的链 ID 是什么?

以太坊 Sepolia 使用链 ID 11155111,十六进制为 0xaa36a7。Base Sepolia 使用 84532,Arbitrum Sepolia 使用 421614。始终确认链 ID 与你打算使用的网络匹配。

公共端点支持 WebSocket 订阅吗?

传输支持因网络和端点而异。如果你的应用依赖 eth_subscribe 获取新块头或日志,请查看网络页面了解可用的传输方式,或使用托管或专用端点,其中 WebSocket 支持是计划的一部分。

为什么在公共 Sepolia 端点上收到 429 错误?

429 意味着你超过了共享速率限制。降低请求速率,尽可能批量调用,如果限制持续阻碍你,考虑托管计划。这是容量信号,不是代码中的错误。

我可以将公共 Sepolia 端点用于 CI 管道吗?

对于低容量、顺序任务,它可以工作。对于每次推送都部署合约的并行任务,共享速率限制会导致间歇性失败。具有定义容量的托管端点是更可靠的选择。

Sepolia 测试需要归档节点吗?

仅当你查询历史状态或宽日志范围时需要。大多数测试工作流不需要归档访问,但索引器风格的测试和回填脚本需要。在假设标准节点足够之前,检查方法要求。

RPC 知识库

相关 RPC 内容

网络 RPCEthereum

以太坊 RPC 列表:如何为你的应用选择正确的端点

以太坊 RPC 列表是一组端点,让你的 dApp 能够在以太坊上读写数据。选择正确的端点取决于你的工作负载:公共端点适合测试,而生产应用需要托管或专用基础设施。本指南解释了 RPC 端点的类型、如何评估它们,以及如何使用流行工具进行连接。...

测试网 RPCBitcoin

什么是比特币测试网,如何使用它进行开发?

比特币测试网是一个公开的、并行的区块链,用于在不冒真实资金风险的情况下测试比特币应用。开发者使用它发送测试交易、验证钱包集成,并使用 bitcoind 和 bitcoin-cli 等工具进行练习。本指南解释了测试网与主网和 regtest 的区别,如何获取测试网币,以及如何将您的应用连接到可靠的测试...

网络 RPCBitcoin

Bitcoin RPC 端点与 API 访问:如何连接到 Bitcoin 网络?

Bitcoin 不使用 EVM 风格的 JSON-RPC。相反,像 Bitcoin Core 这样的节点软件会为钱包、区块链和 mempool 操作暴露 JSON-RPC 接口,而大多数应用依赖索引 API 或托管节点提供商来进行地址查询和交易数据获取。本文解释了可用的访问模式、你需要的链设置,以及...

RPC 提供商选择Solana

你能从限流和吞吐量的角度比较 Solana RPC 提供商吗?

可以。Solana RPC 提供商的主要区别在于它们如何计量请求(按秒 vs 按方法 vs 按计算单元)、允许的突发余量,以及当共享限制成为障碍时,你是否可以迁移到专用节点。本文详细介绍了你会遇到的限流模型,并为你提供了一种在做出承诺之前进行比较的实用方法。 你将获得一个比较表格、常见 Solana...

网络 RPC

什么是 RPC URL,如何使用?

RPC URL 是你的应用程序用来向区块链节点发送 JSON-RPC 请求的 HTTP 或 WebSocket 地址。它是连接字符串,让钱包、dApp、脚本和后端服务能够读取链上状态、提交交易和订阅事件。URL 本身只是配置的一半:你还需要正确的链 ID、货币符号和区块浏览器来进行钱包设置,并且在生...

RPC 提供商选择

PublicNode 速率限制:预期与规划指南

PublicNode 为许多链提供免费的 RPC 端点,但像大多数公共服务一样,它应用速率限制以保护共享基础设施。本文解释了这些限制通常如何工作、如何检测它们,以及何时为生产工作负载迁移到专用或商业 RPC 提供商。...

永远不用担心基础设施

OnFinality 消除了 DevOps 的繁重工作,让您能够更聪明、更快地构建。

开始