摘要
MATIC RPC 节点是通过 JSON-RPC 暴露的 Polygon PoS 端点,用于读取链状态和广播交易。本参考涵盖 Polygon 主网和 Amoy 链设置、如何使用 curl 测试端点,以及如何比较公共 RPC 与托管提供商和专用节点。
使用此处的检查清单和链 ID 来避免最常见的 Polygon RPC 错误,然后决定何时需要可预测的吞吐量、WebSocket 支持或用于生产工作负载的归档方法。
MATIC RPC 节点决策检查清单
在将端点接入钱包、dApp 或后端之前,请决定以下事项:
- 您要连接哪个网络? Polygon 主网使用链 ID
137;测试网是 Amoy(链 ID80002)。它们不可互换。 - 您需要 WebSocket 吗? 钱包和索引器通常使用 pub/sub 来获取待处理交易和新区块头;并非每个公共 RPC 都提供稳定的 WSS URL。
- 您的用户调用哪些方法? 标准的
eth_*方法覆盖大多数应用。调试/跟踪方法和归档状态通常需要付费或专用端点。 - 您的流量模式是什么? 来自索引器或机器人的突发流量与稳定的 UI 负载表现不同;速率限制和吞吐量上限很重要。
- 您需要访问密钥或 URL 轮换吗? 公共端点可能在没有通知的情况下被阻止或限流。托管 RPC API 为您提供稳定的 URL、密钥和故障转移。
- 您如何监控故障? 为关键路径规划备用 RPC;不要让单个端点成为单点故障。
本参考的其余部分将引导您完成链设置、测试请求和评估标准,以便您快速回答这些问题。
什么是 MATIC RPC 节点?
MATIC RPC 节点是通过 JSON-RPC 暴露的 Polygon PoS 全节点的另一种说法。尽管 Polygon 已将其原生 Gas 代币从 MATIC 迁移到 POL,但字符串 "matic" 在 RPC URL、钱包网络名称和 API 文档中仍被广泛使用。您会在诸如 https://1rpc.io/matic、https://rpc-mainnet.matic.quiknode.pro 等端点上看到它,以及像 MATIC RPC 这样的旧概念。
当有人搜索 "MATIC RPC 节点" 时,他们通常需要以下三件事之一:
- 用于将钱包或 dApp 连接到 Polygon 主网或 Amoy 的 URL。
- 能够处理生产流量且没有严格速率限制的节点提供商。
- 针对 Polygon 进行首次 JSON-RPC 调用的说明。
本文重点介绍这三方面。如果您需要针对多个网络的 RPC 提供商进行更广泛的比较,请参阅 如何选择 RPC 提供商。
Polygon 主网和 Amoy 链设置
当您在 MetaMask、wagmi 或后端 RPC 客户端中配置网络时,链设置必须匹配。Polygon 主网是生产 EVM 链,链 ID 为 137。Amoy 是主要测试网,链 ID 为 80002,在 Mumbai 弃用后取代了 Mumbai。
下表列出了 Polygon 文档和链注册表中常用的端点。它们适合测试,但在生产环境中依赖任何公共端点之前,请验证当前 URL、代币符号和速率限制策略。
| 网络 | 链 ID | Gas 代币 | HTTPS RPC(公共) | WSS | 浏览器 |
|---|---|---|---|---|---|
| Polygon 主网 | 137 | POL(原 MATIC) | https://polygon-rpc.com | wss://polygon-rpc.com(如果可用) | PolygonScan |
| Polygon Amoy | 80002 | POL | https://polygon-amoy.drpc.org | wss://polygon-amoy.drpc.org | Amoy PolygonScan |
在进一步操作之前,请将这些值与您已有的任何 RPC URL 进行比较。链 ID 不匹配是 EVM 钱包中 "错误网络" 错误的最常见原因。
如何使用 curl 测试 MATIC RPC 端点
对任何 Polygon RPC 端点进行快速健康检查的方法是 eth_blockNumber。它确认节点已同步且可访问,大多数端点无需 API 密钥。
使用 curl 和 JSON-RPC 请求体:
curl https://polygon-rpc.com \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
正常响应包含十六进制区块号,例如:
{"jsonrpc":"2.0","id":1,"result":"0x57c0f2d"}
接下来,将 eth_chainId 与您配置的链 ID 进行比较:
curl https://polygon-rpc.com \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
结果在主网上应为 0x89(137),在 Amoy 上应为 0x13880(80002)。如果返回的链 ID 不匹配,则您连接到了错误的网络。
对于 dApp 代码,您可以通过配置的提供商使用相同的 JSON-RPC。使用 ethers v6,您可以将链设置放在一个地方:
import { JsonRpcProvider } from "ethers";
const maticRpcNode = "https://polygon-rpc.com";
const provider = new JsonRpcProvider(maticRpcNode, 137, {
staticNetwork: true
});
const block = await provider.getBlockNumber();
console.log(block);
公共与托管 MATIC RPC 节点
像上表中那样的公共 RPC 是由第三方运营的共享端点。它适用于实验、黑客松项目以及轻量级钱包集成,但公共端点通常带有社区速率限制,并且在拥堵期间可能会被限流。
托管 RPC 提供商代表您运行 Polygon 节点,并通过稳定的 URL 暴露它们。例如,OnFinality 通过 OnFinality API 服务 和 专用节点 提供 Polygon RPC 访问。使用托管提供商,您通常可以获得:
- 您可以与客户端共享的稳定 HTTPS 和 WSS URL。
- 用于跟踪使用情况和调试问题的 API 密钥。
- 访问其他方法(包括受支持计划上的 debug/trace 和归档数据)。
- 冗余端点以降低连接丢失的风险。
当流量增长时,您可以从共享 API 密钥迁移到 专用 MATIC RPC 节点。专用节点为您提供单租户端点,消除了嘈杂邻居效应,并且对于索引器、验证器和高流量应用非常有用。
选择取决于您的工作负载,而不仅仅是 "免费与付费"。高流量的 DEX 前端和测试网脚本有不同的需求。如果您想要系统性的比较,请阅读 如何选择 RPC 提供商。
如何评估 MATIC RPC 节点
使用下表比较任何 MATIC RPC 节点——公共或托管。在测试候选节点时,请牢记检查清单。
| 标准 | 检查内容 | 重要性 |
|---|---|---|
| 链 ID | 确认 eth_chainId 返回 0x89(主网)或 0x13880(Amoy) | 防止意外将交易发送到错误的网络 |
| 方法覆盖 | 尝试 eth_getLogs、eth_call、eth_getProof 以及您的应用需要的任何 debug/trace 方法 | 缺少方法会导致代码深处的运行时故障 |
| WebSocket 稳定性 | 连接到 WSS 并订阅 newHeads 几分钟 | 不稳定的 WSS 会破坏事件驱动的 dApp 和索引器 |
| 速率限制 | 阅读提供商的文档限制或发送突发请求 | 突然的 HTTP 429 会使端点在高负载下不可靠 |
| 归档状态 | 请求历史余额或旧区块的状态 | 新应用通常需要比最新区块头更多的数据 |
| 交易传播 | 测量 eth_sendRawTransaction 返回交易哈希的速度 | 广播缓慢可能导致钱包交易卡住 |
| 延迟和区域 | 比较来自用户区域的首字节时间 | 高延迟影响 UI 性能和机器人策略 |
| 定价模型 | 检查按请求、每秒和容量定价 | 可预测的成本在扩展时很重要 |
常见 MATIC RPC 陷阱
- 错误的链 ID: 在 Polygon 钱包中重用以太坊主网配置会导致 "错误网络" 错误。请仔细检查
0x89与0x1。 - 混淆测试网和主网: Mumbai 退役后,大多数测试网教程使用 Amoy(80002)。硬编码 Mumbai 的代码将失败。
- 假设公共端点是归档节点: 公共 RPC 通常只提供最近的状态。查询旧区块可能会返回缺失的 trie 节点错误。
- 速率限制表现为超时: 某些端点返回 429,其他端点则直接断开连接而没有明确错误。在重试逻辑中加入退避。
- 没有 WebSocket 后备: 如果您的应用需要实时数据,您需要同时支持 HTTPS 和 WSS。并非每个端点都提供两者。
- 代币符号混淆: 在 MATIC 到 POL 迁移之后,交易和 Gas 以 POL 计价。仅显示 "MATIC" 的应用可能会让用户困惑,尽管 "MATIC" 仍然是许多 RPC 端点 URL 和第三方钱包中使用的代码。
关键要点
- MATIC RPC 节点是通过 JSON-RPC 暴露的 Polygon PoS 节点;尽管网络现在使用 POL 作为其 Gas 代币,但 "MATIC" 出现在许多端点 URL 中。
- Polygon 主网使用链 ID
137;Amoy 测试网使用80002。 - 公共端点适合开发,但由于速率限制和方法限制,很难用于生产流量。
- 管理您自己的故障转移:在启动前测试
eth_chainId、eth_blockNumber和 WSS 订阅。 - 当您需要可预测的限制、归档方法或专用容量时,请评估托管 RPC 提供商,例如 OnFinality 的 Polygon RPC 和 专用节点。
- 仔细比较成本和限制;查看 RPC 定价 和 支持的 RPC 网络 上的当前详细信息。
常见问题解答
MATIC RPC 节点有什么用途?
MATIC RPC 节点用于从 dApp、钱包、索引器和后端服务读取 Polygon 区块链数据并发送交易。该名称来自 MATIC 代码,该代码在 RPC URL 中仍然很常见,例如 1rpc.io/matic。
免费的 Polygon RPC 端点足够吗?
免费的公共端点适用于开发和小型项目,但它们通常有速率限制,并且可能不支持归档、调试或跟踪方法。对于任何依赖低延迟、高容量或历史数据的场景,托管 RPC API 更安全。
如何获取 Polygon RPC URL?
您可以使用 Polygon 文档中的公共端点,或者从提供商处创建一个。提供商为您提供 URL,通常带有密钥,用于主网或 Amoy 链。OnFinality 通过其 API 服务提供 Polygon RPC;查看 Polygon 网络页面 获取当前端点和方法的详细信息。
OnFinality 支持 Polygon 测试网 RPC 吗?
您应该查看 支持的网络列表 以了解当前的测试网覆盖情况。如果 Amoy RPC 可用,上述设置使用链 ID 80002。
MATIC 和 POL 有什么区别?
Polygon 将 MATIC 扩展为 POL,作为统一的 Gas 和质押代币,但许多 RPC 端点路径和钱包标签仍然显示 "matic"。链 ID(而非代币符号)决定您连接到的网络。
为什么我在 Polygon RPC 上遇到速率限制?
共享公共端点有社区限制;如果您使用并行请求,最终会被限流。专用 RPC 节点或具有更高层级的托管提供商为您提供更多余量。