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

以太坊上的Base L2:如何连接以及何时使用

摘要

Base是一个以太坊Layer 2网络,它在自己的链上执行交易,并将结果结算到以太坊。开发者通过兼容EVM的JSON-RPC端点与其交互,这意味着大多数以太坊工具只需更改链ID和RPC URL即可使用。本文解释了Base是什么、它与以太坊的关系,以及如何可靠地连接。

您将找到链设置、一个可用的连接示例,以及关于在公共端点与托管或专用节点基础设施之间进行选择的实用指导。目标是帮助您决定如何将Base集成到您的技术栈中,以及在投入生产之前需要检查哪些事项。

Base是一个以太坊Layer 2网络。它在自己的链上执行交易,并将结果数据发布回以太坊,这就是“以太坊上的L2”这一术语的由来。对于开发者来说,实际影响很简单:Base使用与以太坊相同的JSON-RPC方言,因此大多数工具、库和合约只需更改链ID和RPC URL即可工作。

本页回答了直接的问题,然后帮助您决定如何连接。如果您已经知道Base是什么,只需要设置,请跳转到链设置表。如果您正在评估如何在生产环境中运行Base,下面的决策部分是一个起点。

快速推荐:哪种连接路径适合您的工作负载

并非每个项目都需要相同的Base设置。使用下表将您的情况与连接方法匹配。正确的答案取决于请求量、您是否需要归档或跟踪数据,以及您希望承担多少运维工作。

您的情况建议方法注意事项
原型设计、脚本、低容量读取公共Base端点共享容量;适合测试,不适合流量高峰
稳定流量的生产dApp托管RPC API速率限制、故障转移和监控很重要
重度索引、归档或跟踪调用专用节点存储和同步时间是您的责任
合规或数据驻留需求专用节点您控制部署环境
包括Base的多链应用托管多链RPC跨链一致的工具可减少错误

如果您不确定,请从托管端点开始,只有当您能说出遇到的具体限制时,才转向专用节点。OnFinality提供RPC API访问和专用节点基础设施,因此您可以在不更改应用程序代码的情况下扩展相同的Base工作负载。

Base到底是什么,一段话说明

Base是基于OP Stack构建的Layer 2。它批量处理交易,在以太坊主网之外执行,并将压缩数据发布回以太坊进行结算和数据可用性。用户在Base上以ETH支付费用,网络暴露一个兼容EVM的接口。这意味着eth_call、eth_getLogs、eth_sendRawTransaction以及其他标准以太坊JSON-RPC方法集的行为符合您的预期。

对开发者来说,重要的细微差别是Base不是以太坊。它有自己链ID、自己的区块浏览器和自己的gas市场。部署到以太坊主网的合约不会自动在Base上可用;您需要单独部署。如果您使用相同的部署者和nonce,地址可以匹配,但这是一种便利,而不是保证。

链设置一览

在将Base添加到钱包、Hardhat配置、Foundry配置文件或viem客户端时,请使用这些值。

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

有关完整的网络参考,请参阅Base网络页面和Base Sepolia网络页面。

使用curl和JavaScript连接

确认端点是否工作的最快方法是进行一次JSON-RPC调用。这将返回当前区块号:

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

成功的响应类似于{"jsonrpc":"2.0","id":1,"result":"0x..."}。如果您得到的是错误对象,请检查URL、方法名以及您的客户端是否发送了带有JSON正文的POST请求。

在JavaScript中,通过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(blockNumber);

如果您使用ethers,模式类似:使用Base RPC URL创建一个JsonRpcProvider并调用getBlockNumber()。当您传递链对象时,库会验证链ID,从而及早捕获配置错误的端点。

钱包和网络配置

将Base添加到钱包是测试人员和支持团队的常见第一步。字段直接映射到上面的链设置表。在MetaMask中,选择“手动添加网络”并输入链ID、RPC URL和浏览器URL。对于Base Sepolia,使用链ID 84532和Sepolia浏览器。

一个常见的错误是混合主网和测试网的值。如果您的钱包在成功领取水龙头后显示余额为零,请确认您处于测试网链ID,并且水龙头将资金发送到了钱包显示的同一地址。水龙头的可用性会随时间变化,因此请查看当前的Base文档,而不是依赖缓存的链接。

Base在以太坊技术栈中的位置

Base是共享以太坊工具的多个L2之一。如果您的应用程序已经支持以太坊主网,那么添加Base主要是一个配置更改。更难的问题是运维方面的:如何处理重组、如何高效索引日志,以及如何在负载下保持可预测的延迟。

对于运行多条链的团队,一致的RPC层比任何单链的特性更重要。OnFinality支持Base以及以太坊和其他网络,因此您可以在整个技术栈中使用一个提供商和一组凭证。请参阅支持的RPC网络获取当前列表。

生产就绪检查清单

在将真实用户指向Base端点之前,请逐项检查以下内容。它们按引发事件的频率排序。

  1. 故障转移。 您是否配置了第二个端点?单个URL是单点故障。
  2. 速率限制。 您知道每秒请求数的上限吗?您的客户端在收到429响应时是否会退避?
  3. 归档和跟踪需求。 您是否在宽区块范围调用eth_getLogs,或使用跟踪方法?这些更重,可能需要专用节点。
  4. 重组处理。 Base与其他L2一样,可能会发生重组。您的索引器应在将数据视为最终确定之前确认最终性。
  5. 监控。 您是否对错误率和延迟进行告警,而不仅仅是总停机时间?
  6. 密钥管理。 RPC凭证是否存储在源代码树之外?

如果其中几项未得到解答,托管提供商可以消除大部分运维负担。如果您需要控制节点本身,专用节点可以为您提供这种控制,代价是运行基础设施。

常见故障模式及如何解读

大多数Base RPC问题属于少数几类。下表将症状映射到可能的原因。

症状可能原因下一步
method not found端点不支持该方法确认该方法属于标准EVM集
429 Too Many Requests达到速率限制添加退避并考虑更高层级
eth_getLogs超时区块范围太宽缩小范围或使用索引器
错误的链数据端点指向不同的网络使用eth_chainId验证链ID
过时的区块号缓存或节点滞后与第二个端点比较

一个快速的诊断方法是调用eth_chainId并将结果与预期值进行比较。对于Base主网,它应返回0x2105(十进制8453)。对于Base Sepolia,它应返回0x14a34(84532)。如果这些不匹配,说明您正在与错误的网络通信。

在公共、托管和专用之间选择

公共端点对于开发和低容量读取是一个不错的默认选择。它是共享的,因此不适合需要可预测延迟的生产流量。

托管RPC API介于两者之间。您获得稳定的URL、监控以及无需运行节点即可扩展的能力。这是需要Base加上其他几条链的dApp、钱包和后端的常见选择。

专用节点适用于需要归档数据、跟踪调用、自定义配置或特定部署环境的团队。权衡是您拥有同步时间、存储和升级。对于大多数团队来说,决定取决于工作负载是否值得这种所有权。OnFinality的RPC定价页面概述了选项,如果您想比较成本模型。

关键要点

  • Base是一个以太坊L2,具有兼容EVM的JSON-RPC接口,因此以太坊工具只需更改链ID和URL即可工作。
  • Base主网使用链ID 8453;Base Sepolia使用84532。
  • OnFinality公共端点是https://base.api.onfinality.io/public和https://base-sepolia.api.onfinality.io/public。
  • 公共端点适合开发;生产工作负载通常需要托管或专用基础设施。
  • 在调试意外数据时,始终使用eth_chainId验证链ID。
  • 在启动前规划故障转移、速率限制和重组处理。

常见问题

Base和以太坊一样吗? 不。Base是一个独立的Layer 2网络,结算到以太坊。它使用以太坊工具和ETH作为原生货币,但有自己的链ID和区块浏览器。

Base的链ID是什么? Base主网是8453。Base Sepolia是84532。

我可以在Base上使用以太坊RPC方法吗? 可以。标准EVM JSON-RPC方法如eth_call、eth_getLogs和eth_sendRawTransaction在Base上可用。一些以太坊特定的方法可能不适用。

我需要为Base使用专用节点吗? 仅当您需要归档数据、跟踪调用、自定义配置或特定部署环境时。大多数应用程序使用托管端点即可。

如何在不花费真实ETH的情况下测试Base? 使用Base Sepolia和水龙头。确认您处于链ID 84532,并且水龙头将资金发送到了您的钱包地址。

在哪里可以找到OnFinality的Base端点? 请参阅Base网络页面和Base Sepolia网络页面。有关定价和计划详情,请访问RPC定价。

RPC 知识库

相关 RPC 内容

网络 RPCBNB Chain

什么是BNB Chain节点,如何运行或连接一个节点?

BNB Chain节点是维护BNB Smart Chain完整副本的客户端,用于处理读取链状态、发送交易和监听事件的JSON-RPC请求。您可以运行自己的节点、使用公共端点,或依赖像OnFinality这样的托管RPC提供商来满足生产环境的工作负载。...

网络 RPCEthereum

什么是以太坊 RPC URL,如何选择合适的?

以太坊 RPC URL 是你的 dApp 用来与以太坊区块链通信的 HTTP 或 WebSocket 端点。本文解释了 RPC URL 的组成部分、如何配置钱包和应用程序,以及如何评估公共、托管和专用端点选项以用于生产工作负载。...

网络 RPCPolygon

关于 Polygon PoS 端点,我应该了解哪些内容?

Polygon PoS 端点是你的应用用来读取链状态并向 Polygon 权益证明网络提交交易的 HTTP 和 WebSocket URL。主网链 ID 是 137,原生 Gas 代币是 POL,一个可用的端点需要支持你的工作负载实际调用的 JSON-RPC 方法。本页涵盖链设置、端点选项、请求示例...

网络 RPCMetis

Metis API:链设置、RPC 方法和提供商选择

Metis API 是指 Metis Andromeda 第二层区块链的 JSON-RPC 接口,这是一个兼容以太坊的 Rollup。本文涵盖链配置、基本 RPC 方法、如何连接钱包和 dApp,以及为生产工作负载选择可靠 RPC 提供商的标准。...

网络 RPCSolana

PublicNode Solana RPC 端点:如何连接及预期

PublicNode 为希望在不投入付费基础设施的情况下测试应用的开发者提供免费的 Solana RPC 端点。本文介绍如何查找和使用 PublicNode Solana RPC 端点、预期的速率限制和可靠性,以及何时为生产工作负载迁移到像 OnFinality 这样的托管或专用 RPC 提供商。...

RPC 提供商选择

即用即付区块链节点如何运作,何时应该使用它们?

即用即付区块链节点是按实际使用量计费而非固定月费的托管 RPC 端点。这种模式适合流量不均衡、多链实验或早期阶段产品的团队,因为它能使基础设施成本与需求保持一致。 在采用按使用量计费的计划之前,请将速率限制、超额定价、WebSocket 支持和归档数据访问与您的预期工作负载进行比较。使用真实流量样本...

永远不用担心基础设施

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

开始