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 必须是十六进制编码的。十进制的 4216140x66eee。如果你传递十进制字符串,一些钱包会静默拒绝请求。

使用 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 内容

RPC 提供商选择Solana

如何为NFT数据API选择Solana RPC提供商

为NFT数据API选择合适的Solana RPC提供商,意味着要在读取密集型工作负载、WebSocket订阅以及可靠的getAsset和getAssets响应之间取得平衡。本指南介绍了需要评估的要素——从速率限制、归档数据到专用节点——以便您将基础设施与您的市场、钱包或分析用例相匹配。...

网络 RPCEfinity

Polygon 节点 RPC:端点、链设置和提供商选择

Polygon 节点 RPC 端点允许应用程序使用标准 JSON-RPC 接口在 Polygon 网络上读写数据。本页涵盖主网和 Amoy 测试网的链设置、如何使用常见工具连接,以及在选择公共、共享和专用 RPC 提供商时需要考虑的因素。...

网络 RPCScroll

什么是 Scroll 端点?如何连接?

Scroll 端点是 Scroll 以太坊 Layer 2 网络的 JSON-RPC API。本页说明什么是 Scroll 端点、如何配置钱包或 dApp,以及如何为生产工作负载选择合适的 RPC 提供商。...

区块链基础设施

什么是专用节点,何时应该使用它们?

专用节点是专为单个用户或项目提供的区块链节点,具有隔离的计算、存储和带宽资源。它们消除了共享RPC服务中的资源争用,非常适合高吞吐量的dApp、交易机器人、分析管道以及任何需要持续低延迟访问的工作负载。与共享节点不同,专用节点让您完全控制客户端配置、归档数据保留和自定义RPC方法支持。然而,它们也带...

RPC 提供商选择

如何评估最佳区块链JSON-RPC API解决方案?

区块链JSON-RPC API让您的dApp无需运行全节点即可读写网络。但并非所有供应商都一样——延迟、存档支持、WebSocket可用性和定价模型差异很大。本文介绍了每个开发人员在为生产环境选择RPC API提供商之前应检查的评估标准。...

网络 RPCOptimism

关于 Optimism RPC 端点,我需要了解什么?

# 关于 Optimism RPC 端点,我需要了解什么? Optimism RPC 端点之所以重要,是因为 Web3 应用依赖稳定的端点访问来进行读取、交易、仪表盘和后端工作流。正确的设置应匹配你的工作负载,支持你所需的网络和测试网,使限制可见,并在共享 RPC 不再足够时提供扩展路径。 对于 O...

永远不用担心基础设施

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

开始