摘要
Abstract RPC 提供者为你的 dApp 提供指向 Abstract 二层网络的 JSON-RPC 端点,该网络是基于 ZK Stack 构建的零知识 rollup。提供者负责节点操作、负载均衡和 API 访问,让你专注于构建。本文介绍在选择 Abstract RPC 提供者时应注意什么,如何比较选项,以及如何连接你的应用。
快速建议:选择 Abstract RPC 提供者前要检查什么
如果你正在评估 Abstract RPC 提供者,首先要决定是需要共享公共端点还是专用节点。公共端点适合原型验证和轻度使用,但生产应用通常需要提供以下功能的提供者:
- 可靠的正常运行时间,并在多个节点之间进行负载均衡。
- 支持以太坊 JSON-RPC 以及 zkSync 特定方法,例如带有 paymaster 参数的
eth_sendRawTransaction。 - 支持 WebSocket,用于实时订阅。
- 归档数据,如果你需要历史状态或运行索引器。
- 明确的速率限制和定价,与你的流量相匹配。
首先使用你的实际工作负载测试提供者的端点。使用 Abstract 网络 页面获取端点并运行一些调用。然后根据以下标准比较提供者。
什么是 Abstract,为什么需要特殊的 RPC 提供者?
Abstract 是一个基于 zkSync 的 ZK Stack 构建的零知识 rollup 二层网络,专为消费者加密应用设计。它继承了以太坊的安全性,同时提供更低的费用和更快的交易。它还通过 Abstract 全球钱包(AGW)实现原生账户抽象,让用户可以使用电子邮件或社交登录与应用交互。
由于 Abstract 是一个兼容 EVM 的 rollup,它暴露了标准的以太坊 JSON-RPC 接口,但也添加了 zkSync 特定的方法,用于 paymaster 和交易批处理等功能。一个好的 Abstract RPC 提供者必须同时支持这两类方法。
如何评估 Abstract RPC 提供者
在比较提供者时,重点关注以下标准:
| 标准 | 检查内容 | 重要性 |
|---|---|---|
| 网络覆盖 | 主网和测试网(Sepolia)支持 | 开发和部署都需要 |
| API 兼容性 | 完整的以太坊 JSON-RPC + zkSync 方法 | 缺少方法会破坏你的 dApp |
| 性能 | 延迟、吞吐量和速率限制 | 慢或受限的端点会降低用户体验 |
| 可靠性 | 正常运行时间历史、冗余、故障转移 | 停机意味着丢失交易和用户 |
| 数据可用性 | 归档数据、trace 支持 | 索引器、分析和调试需要 |
| WebSocket 支持 | 用于订阅的 WSS 端点 | 实时功能必不可少 |
| 定价模式 | 按量付费与订阅 | 必须符合你的预算和流量 |
| 支持 | 文档、社区、SLA | 帮助你快速解决问题 |
Abstract 网络参数一览
以下是配置钱包或 dApp 所需的关键网络参数:
如何连接到 Abstract RPC
你可以使用任何兼容以太坊的库连接到 Abstract。以下是使用 ethers.js 的示例:
import { ethers } from "ethers";
const provider = new ethers.JsonRpcProvider("https://rpc.example.com/abstract");
async function getBlockNumber() {
const blockNumber = await provider.getBlockNumber();
console.log("Current block:", blockNumber);
}
getBlockNumber();
对于 WebSocket 订阅,使用:
const wsProvider = new ethers.WebSocketProvider("wss://rpc.example.com/abstract");
wsProvider.on("block", (blockNumber) => {
console.log("New block:", blockNumber);
});
Abstract RPC 提供者需要支持哪些方法?
除了标准的以太坊方法,你还应验证对 zkSync 特定方法的支持:
- 带有 paymaster 参数的
eth_sendRawTransaction zks_getConfirmedTokenszks_getBridgeContractszks_estimateFee
查看提供者的文档以确认他们支持这些方法。
使用 Abstract RPC 提供者时的常见陷阱
- 使用错误的链 ID – 再次确认主网使用 2741,测试网使用 11124。
- 忽略速率限制 – 公共端点通常有严格限制;生产环境请使用限制更高的提供者。
- 不处理 WebSocket 重连 – 实现重连逻辑以避免错过事件。
- 假设包含归档数据 – 归档访问通常是付费附加项。
如何测试 Abstract RPC 提供者
在决定之前,运行一个简单的负载测试,看看提供者如何处理并发请求。你可以使用 hey 之类的工具或自定义脚本。以下是一个基本的 curl 示例:
curl https://rpc.example.com/abstract \
-X POST \
-H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
监控响应时间和错误率。同时测试 WebSocket 连接的稳定性。
何时考虑使用专用 Abstract 节点
如果你的应用流量高、需要低延迟或需要自定义配置,专用节点可能更好。专用节点提供:
- 隔离的资源 – 没有嘈杂的邻居。
- 自定义设置 – 你可以针对自己的用例调整节点。
- 更高的速率限制 – 没有共享限流。
OnFinality 为需要这种控制级别的团队提供专用节点选项。
如何在免费和付费的 Abstract RPC 提供者之间选择
免费端点非常适合开发,但通常有速率限制且没有正常运行时间保证。对于生产环境,考虑提供以下服务的付费提供者:
- 服务级别协议 – 可靠性期望(但请核实条款)。
- 优先支持 – 更快解决问题。
- 可扩展定价 – 按使用量付费。
查看 RPC 定价 了解 OnFinality 如何构建其计划。
关键要点
- Abstract 是一个兼容 EVM 的 ZK rollup,因此你的 RPC 提供者必须同时支持以太坊和 zkSync 方法。
- 根据网络覆盖、API 兼容性、性能、可靠性、数据可用性和定价来评估提供者。
- 使用正确的链 ID:主网 2741,测试网 11124。
- 在投入生产之前,使用真实工作负载测试你的提供者。
- 如果你需要更高的吞吐量或自定义配置,请考虑专用节点。
常见问题
什么是 Abstract RPC 提供者?
Abstract RPC 提供者是一种服务,提供与 Abstract 区块链交互的 JSON-RPC 端点。它处理节点基础设施,因此你无需运行自己的节点。
如何获取 Abstract RPC 端点?
你可以从公共提供者获取免费端点,或注册付费服务。OnFinality 在其网络页面上提供 Abstract 端点。
Abstract 的链 ID 是什么?
Abstract 主网链 ID 是 2741,测试网链 ID 是 11124。
Abstract 支持 WebSocket 吗?
是的,大多数提供者提供用于实时订阅的 WSS 端点。
我可以使用以太坊库与 Abstract 交互吗?
可以,因为 Abstract 兼容 EVM,你可以使用 ethers.js、viem、web3.js 和其他以太坊工具。
什么是 zkSync 特定的 RPC 方法?
像 zks_estimateFee 和 zks_getBridgeContracts 这样的方法,是 zkSync 系列 rollup 独有的。
如何在共享和专用 Abstract RPC 之间选择?
共享端点对于中低流量具有成本效益。专用节点更适合高流量、低延迟或自定义需求。
OnFinality 支持 Abstract 吗?
是的,OnFinality 提供 Abstract RPC 端点。查看支持的网络页面了解详情。