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

以太坊 RPC 列表:如何为你的应用选择正确的端点

摘要

以太坊 RPC 列表是一组端点,让你的 dApp 能够在以太坊上读写数据。选择正确的端点取决于你的工作负载:公共端点适合测试,而生产应用需要托管或专用基础设施。本指南解释了 RPC 端点的类型、如何评估它们,以及如何使用流行工具进行连接。

当你搜索“以太坊 RPC 列表”时,你可能正在寻找一组可以插入钱包、dApp 或后端服务的端点。列表本身只是答案的一半:更重要的问题是哪种类型的端点适合你的用例。本指南将介绍以太坊 RPC 端点的主要类别、在提交之前需要检查的内容,以及如何使用常见工具进行连接。

快速建议:将端点与你的工作负载匹配

在将 URL 复制到配置之前,请考虑你的应用实际需要什么。公共端点适合黑客松或本地脚本,但无法承受生产流量。托管 RPC 服务提供可靠性和可扩展性,而无需运维开销。专用节点为高负载或敏感工作负载提供完全控制和隔离。

工作负载推荐的端点类型原因
原型开发、测试、低流量公共端点免费、无需设置,但有限速且通常不可靠
生产 dApp、中等流量托管 RPC(共享)性能、可扩展性和支持均衡
高吞吐量、归档数据、trace 调用专用节点完全控制、无噪声邻居、自定义配置
合规、数据隐私、自定义逻辑专用节点你拥有基础设施,可以审计一切

如果你不确定,可以从 OnFinality 的 以太坊 RPC 等托管 RPC 服务开始,并在达到其限制时扩展到 专用节点。查看 RPC 定价 以了解你需要支付什么。

什么是以太坊 RPC 端点?

以太坊节点通过 HTTP 或 WebSocket 暴露 JSON-RPC API。RPC 端点只是该 API 可用的 URL。例如,OnFinality 的公共以太坊端点是 https://eth.api.onfinality.io/public。你向此 URL 发送 JSON-RPC 请求以读取区块链数据、估算 gas 或提交交易。

以太坊 JSON-RPC 规范定义了诸如 eth_blockNumbereth_getBalanceeth_calleth_sendRawTransaction 等方法。每个以太坊节点都实现这些方法,但端点的质量——速度、可靠性和数据深度——差异很大。

以太坊 RPC 端点的类型

公共端点

公共端点是免费的,对任何人开放。它们非常适合学习和快速测试,但带有明显的缺点:

  • 速率限制:在达到一定请求数后,你可能会被限制或阻止。
  • 可用性:它们可能在没有通知的情况下宕机。
  • 数据限制:通常只有最近的状态,而不是完整的归档数据。
  • 无支持:如果出现问题,你需要自己解决。

托管 RPC 服务

托管服务为你运行以太坊节点,并通过可靠的 API 暴露它们。它们处理基础设施、监控和扩展。例如,OnFinality 提供全球以太坊节点网络,支持 HTTP 和 WebSocket。你获得稳定的端点、清晰的 定价 以及对 支持的网络 的访问。

专用节点

专用节点为你提供以太坊节点的私有实例。你可以独占访问节点资源,这意味着没有共享使用的速率限制,也没有“噪声邻居”效应。这非常适合高吞吐量应用、归档数据需求或需要自定义节点配置的情况。

如何评估以太坊 RPC 提供商

在比较提供商时,不要只看端点 URL。以下是关键标准:

标准检查内容为什么重要
正常运行时间和可靠性历史正常运行时间、SLA宕机意味着你的应用不可用
吞吐量和延迟响应时间、请求限制慢速 RPC 会使你的 UI 反应迟钝
数据可用性归档数据、trace 支持分析和调试需要
传输支持HTTP、WebSocket实时更新需要 WebSocket
安全性身份验证、TLS保护你的 API 密钥和数据
支持文档、SLA帮助你快速解决问题
定价模式免费层、按需付费、专用必须适合你的预算和规模

OnFinality 的 以太坊 RPC 提供具有全球覆盖的托管端点,你可以升级到 专用节点 以获得完全控制。

连接到以太坊 RPC 端点

使用 curl

你可以使用简单的 curl 请求测试任何以太坊 RPC 端点。以下是一个获取最新区块号的示例:

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

使用 ethers.js

在 JavaScript 项目中,你可以使用 ethers.js 连接到以太坊 RPC 端点:

const { ethers } = require("ethers");

const provider = new ethers.JsonRpcProvider("https://eth.api.onfinality.io/public");

async function getBlockNumber() {
  const blockNumber = await provider.getBlockNumber();
  console.log("Latest block:", blockNumber);
}

getBlockNumber();

使用 viem

Viem 是另一个流行的库。以下是如何设置公共客户端:

import { createPublicClient, http } from 'viem';
import { mainnet } from 'viem/chains';

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

const blockNumber = await client.getBlockNumber();
console.log(blockNumber);

钱包配置

如果你要将以太坊添加到像 MetaMask 这样的钱包,你需要链 ID(1)和 RPC URL。使用可靠的端点,如 https://eth.api.onfinality.io/public 作为网络。

常见陷阱及如何避免

速率限制

公共端点通常在你超过限制时返回 429 Too Many Requests。为避免这种情况,请使用具有更高限制的托管服务,或实现带有指数退避的重试逻辑。

WebSocket 与 HTTP

如果你的应用需要实时更新(例如,新区块、待处理交易),你需要 WebSocket 端点。HTTP 适用于一次性请求。OnFinality 在以太坊上同时支持 HTTP 和 WebSocket。

归档数据

许多端点只保留最近的状态。如果你需要历史数据(例如,用于分析),你需要一个归档节点。OnFinality 在其托管和专用节点上提供归档数据。

安全性

切勿在客户端代码中暴露你的 API 密钥。使用环境变量,并在必要时通过后端代理请求。

何时从公共迁移到托管或专用

如果你正在构建生产应用,你不应依赖公共端点。需要升级的迹象包括:

  • 你的应用频繁遇到速率限制错误。
  • 你需要为全球用户提供一致的低延迟。
  • 你需要归档数据或 trace 方法。
  • 你需要 WebSocket 连接以实现实时功能。
  • 你想要服务级别协议和支持。

OnFinality 的 托管 RPC 是一个很好的中间选择。为了获得最大性能和控制,请考虑 专用节点

关键要点

  • 以太坊 RPC 列表只是一个起点;真正的决定是使用哪种类型的端点。
  • 公共端点适合测试,但不适合生产。
  • 托管 RPC 服务在可靠性、可扩展性和支持之间提供了平衡。
  • 专用节点提供完全控制,最适合高吞吐量或专业需求。
  • 根据正常运行时间、吞吐量、数据可用性、传输、安全性和支持来评估提供商。
  • 始终使用安全连接并保护你的 API 密钥。

常见问题解答

HTTP 和 WebSocket RPC 端点有什么区别?

HTTP 端点是请求-响应模式,适用于一次性查询。WebSocket 端点保持持久连接,允许服务器推送更新,这对于实时应用至关重要。

我可以在生产环境中使用公共以太坊 RPC 端点吗?

不建议。公共端点有限速,并且可能不可靠。对于生产环境,请使用托管服务或专用节点。

什么是归档节点?

归档节点存储区块链的完整历史,允许你查询任何区块的历史状态。这对于分析、调试和合规很有用。

如何获得专用以太坊节点?

你可以从像 OnFinality 这样的提供商处获得专用节点。访问 专用节点页面 了解更多信息并请求一个。

以太坊的链 ID 是多少?

以太坊主网的链 ID 是 1。这用于防止不同网络之间的重放攻击。

如何测试以太坊 RPC 端点?

你可以使用 curl 或像 ethers.js 这样的库发送简单请求,例如 eth_blockNumber,以验证端点是否正常工作。

OnFinality 是否支持以太坊测试网?

是的,OnFinality 支持以太坊 Sepolia。你可以在 Sepolia 网络页面 上找到端点。

RPC 知识库

相关 RPC 内容

网络 RPCKusamaAsset Hub

什么是Kusama Asset Hub以及如何连接?

# 什么是Kusama Asset Hub以及如何连接? Kusama Asset Hub(原名Statemine)是Kusama网络上的一个公益平行链,支持同质化和非同质化资产的发行与转移。它也是持有和转移KSM代币的低成本链。经过最近的运行时升级,Asset Hub现在支持智能合约,并承载了以前...

网络 RPCAvalanche

什么是 TON 网络 RPC URL,如何使用它?

TON 网络 RPC URL 是你的 dApp 或机器人用来与 TON 区块链通信的端点。本文解释了官方公共端点、如何在代码中配置它,以及何时应考虑使用像 OnFinality 这样的托管 RPC 服务用于生产工作负载。...

网络 RPCTON

什么是TON RPC节点,如何使用?

# 什么是TON RPC节点,如何使用? 开放网络(TON)是一个为高速、可扩展交易而设计的Layer-1区块链。要与TON区块链交互——无论是构建钱包、dApp还是分析工具——你都需要一个TON RPC节点。TON RPC节点充当网关,允许你的应用程序查询区块链数据并提交交易。本指南将解释什么是T...

网络 RPCpeaq

什么是 peaq 主网 RPC 端点?

peaq 主网是一个基于 Substrate 构建、接入 Polkadot 生态的 EVM 兼容 Layer-1 区块链。其 RPC 允许钱包和应用读取链上数据、提交交易,并使用链 ID 3338 和原生 PEAQ 代币订阅事件。 本文介绍 peaq 主网链设置、JSON-RPC 示例、端点选择以及...

网络 RPCHydraDX

什么是 HydraDX,如何通过 RPC 连接到它?

# 什么是 HydraDX,如何通过 RPC 连接到它? HydraDX(现已更名为 Hydration)是一个构建在 Polkadot 上的下一代 DeFi 协议,作为平行链运行。其旗舰产品是 Omnipool,一种创新的自动做市商(AMM),将所有资产整合到一个单一交易池中,从而实现资本高效的兑...

RPC 提供商选择Solana

Solana RPC 提供商对比:您应该关注什么?

选择 Solana RPC 提供商意味着要根据您的应用需求权衡吞吐量、可靠性、数据访问和成本。本对比聚焦于区分公共、共享和专用 Solana RPC 服务的关键技术和运营因素,帮助您根据对生产工作负载真正重要的标准来评估提供商。...

永远不用担心基础设施

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

开始