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

Base Network RPC:如何连接以及应使用哪个端点?

摘要

Base 是基于 OP Stack 构建的以太坊 Layer 2,因此其 RPC 接口与以太坊工具链兼容 JSON-RPC。您只需将客户端指向链 ID 为 8453 的 Base 端点即可连接,大多数以太坊库几乎无需修改或只需少量修改即可使用。主要决策在于选择哪个端点、如何处理速率限制,以及如何在流量增长时保持请求可靠。

本页面涵盖 Base 主网和 Base Sepolia 链设置、可用的请求示例、常见故障模式,以及如何在公共端点、托管 RPC API 和专用节点之间做出选择。OnFinality 通过其 RPC API 服务 和 专用节点 选项提供 Base RPC。

Base 是基于 OP Stack 构建的以太坊 Layer 2。对于开发者来说,这意味着 RPC 接口看起来几乎与以太坊完全相同:相同的 JSON-RPC 方法、相同的 eth_ 命名空间以及相同的客户端库。如果您已有以太坊代码,连接到 Base 通常只需更改链 ID 和 RPC URL。

本页面是 Base 网络 RPC 的实用参考。它涵盖了您需要的链设置、可立即运行的请求示例、最常见的故障模式,以及随着流量增长如何在公共端点、托管 RPC API 和专用节点之间做出选择。

应使用哪个 Base 端点?

首先根据您的工作负载匹配端点。正确的选择更多地取决于您发送的流量大小、是否需要归档或追踪数据,以及停机对您造成的成本,而非链本身。

您的情况合理的起点需要注意什么
原型设计、脚本、一次性读取公共 Base 端点共享容量,无 SLA,适合低流量
有真实用户的 dApp带 API 密钥的托管 RPC API吞吐量限制、故障转移、方法覆盖
索引器、分析、大量 eth_getLogs带归档访问的托管 RPC日志范围限制和查询成本
交易、跨链桥、高请求量专用 Base 节点配置时间、监控、冗余

一个快速规则:如果请求失败意味着用户看到错误,那么您已经超出了共享公共端点的适用范围。如果请求失败意味着交易头寸或跨链桥转账面临风险,那么您应该考虑具有故障转移路径的专用基础设施。

OnFinality 通过其 RPC API 服务 提供 Base 的托管访问,并通过 专用节点 提供隔离容量。您可以在 RPC 定价 页面比较方案,并查看 支持的 RPC 网络 的完整列表。

Base 链设置一览

以下是您填入钱包、库或配置文件的数值。

设置Base 主网Base Sepolia(测试网)
链 ID845384532
链名称BaseBase Sepolia Testnet
原生货币ETH(18 位小数)ETH(18 位小数)
区块浏览器https://basescan.orghttps://sepolia.basescan.org
传输HTTPHTTP
OnFinality 公共端点https://base.api.onfinality.io/publichttps://base-sepolia.api.onfinality.io/public

Base Sepolia 是您在发布到主网之前使用的测试网。它有自己的链 ID 和自己的水龙头生态系统,因此请确保您的配置不会混淆两者。OnFinality 的 Base 和 Base Sepolia 网络页面列出了您需要的端点和详细信息。

发出您的第一个 Base JSON-RPC 请求

Base 通过 HTTP 使用标准 JSON-RPC。最简单的检查是对公共端点进行 curl 调用。

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

健康的响应会以十六进制返回最新区块高度。从那里开始,常用的以太坊方法都适用:eth_getBalance、eth_call、eth_getLogs、eth_getTransactionReceipt 等等。由于 Base 与 EVM 等效,大多数以太坊工具无需修改即可使用。

如果您使用的是带 API 密钥的托管端点,URL 通常将密钥作为路径或查询参数携带。请将该密钥排除在客户端代码和公共仓库之外。

使用 viem 从 JavaScript 连接

在实践中,您将通过库而不是原始 curl 进行连接。以下是 Base 主网的最小 viem 设置。

import { createPublicClient, http } from 'viem'
import { base } from 'viem/chains'

const client = createPublicClient({
  chain: base,
  transport: http('https://base.api.onfinality.io/public')
})

const blockNumber = await client.getBlockNumber()
console.log('Base block:', blockNumber)

对于托管端点,请将 URL 替换为您的带密钥端点。对于 ethers,模式相同:使用 Base RPC URL 和链 ID 构造提供程序,然后调用您常用的方法。重要的细节是配置中的链 ID 与您调用的端点匹配。将主网链 ID 指向测试网端点是最常见的设置错误之一。

将 Base 添加到钱包

支持自定义网络的钱包接受相同的值。典型的网络配置如下所示:

{
  "chainId": "0x2105",
  "chainName": "Base",
  "nativeCurrency": { "name": "Ether", "symbol": "ETH", "decimals": 18 },
  "rpcUrls": ["https://base.api.onfinality.io/public"],
  "blockExplorerUrls": ["https://basescan.org"]
}

请注意,0x2105 是 8453 的十六进制形式。钱包期望十六进制值,而大多数 JavaScript 库接受十进制。如果钱包拒绝您的网络,请先检查链 ID 格式。

Base RPC 请求通常在哪里失败

大多数 Base RPC 问题属于少数几类。了解它们可以大大缩短调试时间。

症状可能原因尝试什么
429 或限流响应共享端点速率限制迁移到带密钥或专用端点,添加带退避的重试
eth_getLogs 返回错误日志范围对端点来说太宽缩小区块范围、分页或使用归档访问
数据为空或过时链 ID 或测试网端点错误确认链 ID 8453 与 84532
method not found该端点未启用该方法检查方法覆盖,尤其是 trace 和 debug
负载下超时端点饱和添加故障转移、提高客户端超时、使用专用容量
交易卡在待处理状态Nonce 或 gas 设置检查 nonce 处理和 gas 估算

其中两个值得更详细说明。首先,eth_getLogs 是最可能触及限制的方法,因为宽区块范围可能意味着非常大的结果集。如果您正在索引 Base,请从一开始就规划分页,而不是在生产中发现限制。其次,Base 上的 nonce 和 gas 问题与以太坊上的行为非常相似;如果您正在调试卡住的交易,相同的 nonce 和替换规则适用。

公共、托管和专用:为生产环境选择

公共端点是开始的最快方式,也最容易超出适用范围。它是共享的,对您的流量没有承诺,是脚本、原型和偶尔读取的正确工具。

托管 RPC API 处于中间位置。您获得带密钥的端点、更可预测的吞吐量以及对大多数应用程序所需方法的支持。这是有真实用户的 dApp 的常见选择,此时可靠性很重要,但您不想自己运行基础设施。

专用节点为您提供隔离容量。您不与其他租户共享吞吐量,这对于高请求量、大量日志查询或请求失败有直接成本的工作负载很重要。权衡是您承担更多的运营责任,或者与为您管理它的提供商合作。

OnFinality 的 RPC API 服务 涵盖托管情况,专用节点 涵盖隔离情况。如果您仍在总体上权衡提供商,选择 RPC 提供商指南 更深入地介绍了标准。

Base 的生产就绪检查清单

在将真实流量指向 Base 端点之前,请确认以下内容:

  • 您的链 ID 和端点匹配,并且主网和测试网配置清晰分离。
  • 您有带退避的重试逻辑以应对暂时性故障。
  • 您至少有一个故障转移端点,或有一个已记录的故障转移计划。
  • 您的 eth_getLogs 使用是分页且有界的。
  • API 密钥仅在服务器端使用,并在需要时轮换。
  • 您监控错误率和延迟,而不仅仅是正常运行时间。
  • 您知道您依赖哪些方法,包括任何 trace 或 debug 调用。

如果缺少任何这些,值得在启动前修复,而不是在事故发生后。

监控和故障转移

简单的健康探测可以让您提前发现问题。按计划轮询最新区块号,如果停止推进或请求开始失败,则发出警报。

#!/usr/bin/env bash
RESP=$(curl -s -o /dev/null -w "%{http_code}" https://base.api.onfinality.io/public \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}')
if [ "$RESP" != "200" ]; then
  echo "Base RPC probe failed: $RESP"
fi

对于故障转移,请配置第二个端点,并在重复失败时切换,而不是在单个错误时切换。单次超时是正常的;连续超时是一个信号。

关键要点

  • Base 是一个 OP Stack L2,具有以太坊兼容的 JSON-RPC 接口,因此现有的 EVM 工具只需极少的更改即可工作。
  • Base 主网使用链 ID 8453;Base Sepolia 使用 84532。混淆它们会导致数据为空或错误。
  • 公共端点适合原型,但它们是共享的,容易超出适用范围。
  • 托管 RPC API 适合有真实用户的 dApp;专用节点适合高流量或延迟敏感的工作负载。
  • eth_getLogs 是最可能触及限制的方法,因此从一开始就分页。
  • 始终规划故障转移并监控错误率,而不仅仅是可用性。

常见问题

Base 网络 RPC URL 是什么?

对于 OnFinality 的公共 Base 主网端点,请使用 https://base.api.onfinality.io/public。对于 Base Sepolia,请使用 https://base-sepolia.api.onfinality.io/public。对于生产工作负载,带密钥的托管端点或专用节点通常比共享公共 URL 更合适。

Base 链 ID 是什么?

Base 主网使用链 ID 8453,十六进制为 0x2105。Base Sepolia 使用 84532。

Base RPC 与以太坊 RPC 相同吗?

Base 与 EVM 等效并基于 OP Stack 构建,因此 JSON-RPC 方法与以太坊的基本相同。大多数以太坊库和工具只需更改链 ID 和 URL 即可在 Base 上工作。

为什么我的 Base RPC 请求返回 429?

429 通常意味着您触及了共享端点的速率限制。迁移到带密钥的托管端点或专用容量,并为暂时性情况添加带退避的重试。

Base 支持 WebSocket 订阅吗?

传输支持取决于端点。检查 Base 网络页面 了解可用的传输方式,如果您需要订阅,请确认您的提供商是否提供 WebSocket 访问。

如何获取 Base Sepolia 的测试网 ETH?

Base Sepolia 有自己的水龙头生态系统。使用公认的 Base Sepolia 水龙头为测试钱包提供资金,并将测试网密钥与主网密钥分开。

我可以使用 OnFinality 进行 Base 吗?

可以。OnFinality 通过其 RPC API 服务 和 专用节点 产品提供 Base RPC。有关方案详情,请参阅 RPC 定价,有关完整网络列表,请参阅 支持的 RPC 网络。

RPC 知识库

相关 RPC 内容

网络 RPCSolana

最新的 Solana RPC 更新有哪些,它们如何影响您的 dApp?

Solana RPC 更新包括新的 JSON-RPC 方法、现有端点的更改,以及公共和托管基础设施处理负载的方式的变化。及时了解这些更新很重要,因为 Solana 的高吞吐量和频繁的功能发布可能会改变您查询账户、提交交易和订阅实时数据的方式。 本文涵盖最新的 Solana RPC 更改、如何在 de...

网络 RPCEth Sepolia

如何通过 eth_getBlockByNumber 获取最新的以太坊区块?

了解如何使用 eth_getBlockByNumber JSON-RPC 方法获取最新的以太坊区块,包括 curl 和 ethers.js 示例、响应字段和常见陷阱。比较公共、托管和专用 RPC 选项,为您的 dApp 选择合适的端点。...

RPC 故障排查

区块链交易中的nonce是什么?

区块链nonce是一个用于排序交易、防止重放攻击以及在某些区块生产系统中证明工作量的数字。在以太坊等基于账户的链上,每次账户发送交易时交易nonce都会递增,这使得网络能够按预期顺序处理交易。 如果应用通过RPC端点发送大量交易,nonce处理就成为生产可靠性的组成部分。OnFinality帮助团队...

网络 RPCPichiu

How to Connect to Pichiu Network RPC for Oracle Data

Pichiu Network provides decentralized oracle services on Kusama. This article explains how developers can integrate with Pichiu using RPC endpoints, c...

RPC 提供商选择Arbitrum

什么是Arbitrum RPC节点,如何选择合适的节点?

Arbitrum RPC节点是一个端点,让你的dApp能够读取和写入Arbitrum One、Nova或Sepolia测试网的数据。选择合适的节点提供商需要评估吞吐量限制、归档数据支持、WebSocket可用性以及故障转移模式。本文涵盖了链设置、公共与私有端点,以及一个决策清单,帮助你选择符合生产需...

网络 RPCArbitrum

Arbitrum 公共 RPC:端点、链设置和提供商选择

Arbitrum One 和 Arbitrum Sepolia 的公共 RPC 端点让开发者无需运行节点即可连接钱包和 dApp。本文涵盖官方端点、链设置,以及如何评估公共与托管 RPC 提供商以用于生产工作负载。...

永远不用担心基础设施

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

开始