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

Arbitrum One 测试网 RPC:你应该实际使用哪个端点?

摘要

Arbitrum One 是主网链(链 ID 42161)。当开发者说“Arbitrum One 测试网”时,通常指的是 Arbitrum Sepolia(链 ID 421614),它使用 Sepolia ETH 作为 gas。本页解释了链设置、如何将网络添加到钱包、如何请求测试网 ETH,以及如何调试测试网端点配置错误时出现的错误。它还涵盖了何时共享公共端点就足够,以及何时专用节点或托管 RPC API 更适合 CI 管道、索引器和暂存环境。

如果你搜索了“Arbitrum One 测试网 RPC”,首先要澄清的是命名。Arbitrum One 是主网链(链 ID 42161)。没有名为“Arbitrum One 测试网”的独立测试网。开发者几乎总是指的是 Arbitrum Sepolia(链 ID 421614),它运行在 Sepolia ETH 上,并紧密镜像 Arbitrum Nitro 执行环境,足以进行合约测试、钱包流程和 CI。

本页为你提供端点、确切的链设置、钱包配置片段、水龙头步骤,以及当测试网端点配置错误时出现的错误的调试路径。它还帮助你决定共享公共端点是否足够,或者你的工作流是否需要托管 RPC API 或专用节点。

哪个端点适合你的工作流?

在复制端点之前,将其与你实际在做的事情匹配。测试网流量模式与主网非常不同:CI 运行期间的突发、长时间空闲,以及索引器偶尔进行的大量 eth_getLogs 扫描。

你的工作流你需要什么合理的起点
在钱包或 Remix 中手动测试可访问的 HTTPS 端点,无认证摩擦公共共享端点
使用 Hardhat/Foundry 进行本地开发稳定的端点,可预测的速率行为托管 RPC API 密钥
运行合约测试的 CI 管道并发余量,无共享限流托管 RPC API 或专用节点
索引器或子图式日志扫描宽泛的 eth_getLogs 范围,归档访问具有归档数据的专用节点
模拟生产环境的暂存环境与生产相同的提供商和传输与主网相同的托管/专用设置

如果你只是验证合约部署,共享公共端点就足够了。如果你的测试套件发出数十个并行请求,或者你扫描大区块范围内的日志,从一开始就计划托管或专用设置,这样你就不会在调试速率限制而不是代码。

Arbitrum Sepolia 链设置一览

这些是你粘贴到钱包、框架配置或 .env 文件中的值。在团队中保持一致,以避免“错误网络”的混淆。

设置值
网络名称Arbitrum Sepolia
链 ID421614
货币符号ETH (Sepolia ETH)
区块浏览器https://sepolia.arbiscan.io
RPC (HTTPS)https://arbitrum-sepolia.api.onfinality.io/public
传输HTTP(托管/专用计划提供 WebSocket)

作为比较,Arbitrum One 主网使用链 ID 42161 和浏览器 https://arbiscan.io。混淆这两者是测试期间“交易失败”混淆的最常见来源。

将网络添加到钱包

大多数钱包接受自定义网络。在 MetaMask 中,你可以手动添加,或者通过 dapp 使用 wallet_addEthereumChain 触发提示:

await window.ethereum.request({
  method: "wallet_addEthereumChain",
  params: [{
    chainId: "0x66eee", // 421614 in hex
    chainName: "Arbitrum Sepolia",
    nativeCurrency: { name: "Sepolia Ether", symbol: "ETH", decimals: 18 },
    rpcUrls: ["https://arbitrum-sepolia.api.onfinality.io/public"],
    blockExplorerUrls: ["https://sepolia.arbiscan.io"]
  }]
});

注意 chainId 必须是十六进制编码的。十进制的 421614 是 0x66eee。如果你传递十进制字符串,一些钱包会静默拒绝请求。

使用 curl 和 viem 验证端点

在将任何内容接入应用之前,确认端点响应并报告你期望的链。

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

正确的响应返回 "result":"0x66eee"。如果你得到不同的链 ID,说明你指向了错误的网络。快速区块号检查确认节点已同步:

import { createPublicClient, http } from "viem";
import { arbitrumSepolia } from "viem/chains";

const client = createPublicClient({
  chain: arbitrumSepolia,
  transport: http("https://arbitrum-sepolia.api.onfinality.io/public")
});

const block = await client.getBlockNumber();
console.log("Arbitrum Sepolia head:", block);

如果 eth_chainId 工作但 getBlockNumber 停滞,节点可能落后或请求被限流。这种区别对下面的调试部分很重要。

从水龙头获取测试网 ETH

Arbitrum Sepolia 的 gas 以 Sepolia ETH 支付。你不能将主网 ETH 桥接到测试网,所以你需要水龙头。典型选项:

  • 从 Arbitrum 开发者文档链接的 Arbitrum Sepolia 水龙头。
  • Alchemy 和其他基础设施水龙头,为 Arbitrum Sepolia 分发 Sepolia ETH。
  • 如果你已经持有一些,将 Sepolia ETH 从 Ethereum Sepolia 桥接到 Arbitrum Sepolia。

水龙头通常要求最低主网余额或社交登录以防止滥用,并且它们分发少量。如果水龙头说你的地址不符合条件,几乎总是反滥用规则,而不是你的 RPC 端点的问题。

调试你实际会遇到的错误

大多数“测试网 RPC”问题是配置错误,而不是节点故障。按顺序处理这些。

症状可能原因修复
chainId 不匹配 / 错误网络提示钱包设置为 Arbitrum One (42161) 而不是 Sepolia (421614)使用链 ID 421614 重新添加网络
insufficient funds for gas测试钱包中没有 Sepolia ETH从水龙头请求
nonce too low 或待处理交易卡住交易被丢弃后重用 nonce在钱包中重置账户或发送替换交易
负载下 429 或超时共享端点限流迁移到托管 RPC API 密钥或专用节点
eth_getLogs 返回范围错误区块范围对端点来说太宽缩小范围或使用支持归档的专用节点
合约调用仅在测试网上回滚部署地址或状态不同重新检查 Sepolia 的地址和构造函数参数

一个有用的习惯是记录你的应用在启动时解析的链 ID。许多“测试网错误”实际上是应用因为环境变量未被覆盖而悄悄与主网通信。

当共享端点不够时

公共端点很方便,但它们是共享的。在测试网上,对于单个开发者来说通常没问题。当以下情况出现时,它就成了问题:

  • 你的 CI 运行许多并行测试作业并触及速率限制。
  • 索引器扫描大范围的日志并需要归档数据。
  • 你想要用于事件驱动测试的 WebSocket 订阅。
  • 你需要在暂存和生产中使用相同的提供商,以便行为匹配。

此时,带有 API 密钥的托管 RPC API,或你控制的专用节点,消除了共享限流变量。OnFinality 提供两者:跨支持的网络的托管 RPC API 服务,以及当你需要隔离容量、归档数据或 WebSocket 传输时的专用节点。对于测试网工作,升级的实际原因是可重现性:你希望测试失败反映你的代码,而不是别人的流量。

测试网与主网:实际差异

了解哪些从 Arbitrum Sepolia 延续到 Arbitrum One,哪些不延续,会有所帮助。

  • 执行环境: 基于 Nitro,因此 EVM 行为和大多数操作码与主网紧密匹配。
  • Gas: Sepolia ETH,不是真实 ETH。Gas 价格通常较低,不太能代表主网条件。
  • 状态: 完全独立。合约必须重新部署;地址会不同。
  • 预言机和桥: 存在测试网版本,但可能有限流或不同的喂价。
  • 排序器行为: 类似,但不要假设主网的延迟或吞吐量特征。

因为 gas 便宜且状态可丢弃,测试网是在将相同代码指向主网之前解决 nonce 处理、事件订阅和日志扫描逻辑的正确场所。

关键要点

  • “Arbitrum One 测试网”几乎总是指 Arbitrum Sepolia,链 ID 421614。
  • Arbitrum One 本身是主网,链 ID 42161——不要将测试代码指向它。
  • 公共 HTTPS 端点是 https://arbitrum-sepolia.api.onfinality.io/public;使用前用 eth_chainId 验证。
  • 你需要从水龙头获取 Sepolia ETH;你不能将主网 ETH 桥接到测试网。
  • 大多数错误是配置问题(错误的链 ID、没有 gas、重用 nonce),而不是节点故障。
  • 当 CI 并发、日志扫描或 WebSocket 需求超出共享端点时,迁移到托管 RPC API 或专用节点。

常见问题

Arbitrum One 是测试网吗? 不。Arbitrum One 是主网链(链 ID 42161)。测试网是 Arbitrum Sepolia(链 ID 421614)。

Arbitrum Sepolia RPC URL 是什么? 公共 HTTPS 端点是 https://arbitrum-sepolia.api.onfinality.io/public。对于类似生产的测试设置,使用托管或专用端点。

Arbitrum 测试网应该使用什么链 ID? 421614,十六进制为 0x66eee。

如何获取测试网 ETH? 使用 Arbitrum Sepolia 水龙头,或者如果你已经持有一些,从 Ethereum Sepolia 桥接 Sepolia ETH。主网 ETH 不能桥接到测试网。

为什么我的交易因资金不足而失败? 你的钱包没有 Sepolia ETH。从水龙头请求并重试。

我可以在测试网上使用 WebSockets 吗? WebSocket 传输在托管和专用计划上可用。查看 Arbitrum 网络页面 和 RPC 定价 了解当前选项。

测试网和主网应该使用相同的提供商吗? 这是一个好习惯。匹配提供商和传输可以减少暂存环境因与代码无关的原因而与生产行为不同的机会。

RPC 知识库

相关 RPC 内容

网络 RPCMoonbeam

什么是 Moonbeam 节点,什么时候应该运行一个?

Moonbeam 节点是 Moonbeam 网络的完整客户端,Moonbeam 是 Polkadot 上兼容以太坊的平行链。运行一个节点可以让你获得本地 RPC 访问、区块生产以及更深入的控制,但它需要大量的硬件和维护。对于大多数 dApp,像 OnFinality 这样的托管 RPC 服务提供了可...

网络 RPCBNB Chain

什么是币安智能链的RPC URL?

BNB智能链的官方公共RPC URL是 https://bnb.api.onfinality.io/public。该端点允许您查询BNB智能链主网,而无需运行自己的节点。对于生产环境,您应评估提供更高速率限制、归档数据和WebSocket支持的管理型和专用RPC选项。...

网络 RPCArbitrum

Arbitrum RPC 列表:如何为你的应用选择合适的端点

本文介绍了不同类型的 Arbitrum RPC 端点——公共、托管和专用——以及如何为你的应用选择合适的端点。内容涵盖链设置、常见用例,以及如何根据可靠性、可扩展性和支持来评估提供商。...

区块链基础设施Efinity

Polygon 节点托管:何时租用基础设施而非自行运行

Polygon 节点托管意味着在他人运营的基础设施上运行 Polygon PoS 堆栈——一个 Erigon 或 Bor 风格的执行客户端加上一个 Heimdall 共识客户端——这样你的团队无需拥有服务器即可获得 RPC 端点、WebSocket 访问和归档数据。决策很少是“我们能运行节点吗?”,...

网络 RPCPolygon

Polygon 速率限制:它们是什么以及如何避免 429 错误

Polygon 速率限制限制了端点在一个给定时间窗口内接受的 JSON-RPC 请求数量,当您超过限制时,会收到 HTTP 429 响应、WebSocket 订阅被丢弃或静默超时。公共端点在所有调用者之间共享这些限制,因此一个繁重的循环就可能拖垮您的整个应用。 本文解释了 Polygon 速率限制的...

网络 RPCAvalanche

关于 peaq 网络,我应该了解什么?

peaq 是一条专为去中心化物理基础设施网络(DePIN)和机器经济构建的 Layer-1 区块链。它提供结算层、身份原语和代币激励,使连接的设备、机器人和传感器能够自主交易。开发者通过基于 Substrate 的 RPC 接口与 peaq 交互,该接口暴露了标准的 JSON-RPC 方法,用于读取...

永远不用担心基础设施

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

开始