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

Polygon 网络 RPC:端点、链设置和调试

摘要

了解如何通过 RPC 连接到 Polygon 网络,包括 OnFinality 官方公共端点、链设置和常见故障排除步骤。本指南涵盖 JSON-RPC 方法、WebSocket 支持,以及如何为您的 dApp 选择公共、共享和专用 RPC 基础设施。

快速决策指南:哪种 Polygon RPC 选项适合您的应用?

在深入端点和方法之前,先决定您希望如何连接到 Polygon。您的选择取决于流量、可靠性需求以及是否需要历史数据。

  • 公共 RPC 端点 – 适用于原型开发、黑客松或低流量应用。OnFinality 官方公共端点是 https://polygon.api.onfinality.io/public。它是免费的,但为共享资源,可能存在速率限制,不适合生产环境。
  • 共享/托管 RPC – 一种托管服务,提供专用端点,具有更高的吞吐量、WebSocket 支持,并且通常提供归档数据。这是需要一致性能且无需运行基础设施的生产 dApp 的常见选择。
  • 专用节点 – 为您的项目独享的全节点。这提供最高控制权、自定义配置,且没有邻居干扰。最适合高流量应用、索引器或需要自定义 RPC 方法的团队。

如果您不确定,可以先使用公共端点进行测试,然后随着用户增长迁移到托管或专用解决方案。有关提供商的详细比较,请参阅我们的 选择 RPC 提供商指南。

Polygon 网络概览

Polygon(原 Matic Network)是以太坊的第 2 层扩展解决方案。它使用权益证明(PoS)共识,并且兼容 EVM,这意味着您可以使用与以太坊相同的工具和库。主网因其低费用和快速最终性而广泛用于 DeFi、游戏和 NFT。

以下是配置钱包或 dApp 所需的关键链设置:

设置值
网络名称Polygon 主网
链 ID137
原生货币POL(原 MATIC)
符号POL
小数位数18
区块浏览器https://polygonscan.com
公共 RPC 端点https://polygon.api.onfinality.io/public
WebSocket 支持是(wss://polygon.api.onfinality.io/public)

注意:原生代币已从 MATIC 更名为 POL。大多数 RPC 方法和钱包在某些上下文中仍将代币引用为 MATIC,但符号现在是 POL。

如何连接到 Polygon RPC

您可以使用标准的以太坊 JSON-RPC 方法与 Polygon RPC 交互。以下是使用 curl 和流行库的示例。

使用 curl

要检查当前区块号:

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

使用 ethers.js

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

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

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

getBlock();

使用 viem

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

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

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

钱包配置

如果您需要将 Polygon 添加到 MetaMask 等钱包,请使用以下设置:

  • 网络名称:Polygon 主网
  • 新的 RPC URL:https://polygon.api.onfinality.io/public
  • 链 ID:137
  • 货币符号:POL
  • 区块浏览器 URL:https://polygonscan.com

Polygon 上常见的 JSON-RPC 方法

Polygon 支持大多数以太坊 JSON-RPC 方法。以下是您最常用的方法:

  • eth_blockNumber – 获取最新区块号。
  • eth_getBalance – 获取地址余额。
  • eth_call – 执行只读合约调用。
  • eth_sendRawTransaction – 广播已签名的交易。
  • eth_getTransactionReceipt – 获取交易收据。
  • eth_getLogs – 获取事件日志(用于索引)。
  • eth_estimateGas – 估算交易的 gas。

有关完整列表,请参阅以太坊 JSON-RPC 规范。Polygon 还支持 net_version 和 web3_clientVersion 方法。

WebSocket 支持和实时数据

如果您的 dApp 需要实时更新(例如价格馈送、交易状态),请使用 WebSocket。OnFinality 公共端点支持 WebSocket,地址为 wss://polygon.api.onfinality.io/public。

订阅新区块头的示例:

const { WebSocket } = require("ws");

const ws = new WebSocket("wss://polygon.api.onfinality.io/public");

ws.on("open", () => {
  ws.send(JSON.stringify({
    jsonrpc: "2.0",
    method: "eth_subscribe",
    params: ["newHeads"],
    id: 1
  }));
});

ws.on("message", (data) => {
  console.log("New block:", JSON.parse(data));
});

调试常见的 RPC 问题

即使使用可靠的端点,您也可能会遇到问题。以下是常见问题及解决方法。

1. 速率限制

公共端点通常有速率限制。如果您看到 429 Too Many Requests 或 rate limit exceeded,您需要更高等级的端点。请考虑使用 托管 RPC 服务 或专用节点。

2. 找不到交易

如果 eth_getTransactionReceipt 返回 null,则交易可能处于待处理状态或被丢弃。使用 eth_getTransactionByHash 检查内存池。如果未找到,请以更高的 gas 价格重新提交。

3. 链 ID 错误

确保您的钱包或 dApp 使用链 ID 137。使用错误的链 ID 会导致交易失败。

4. WebSocket 断开连接

WebSocket 连接可能会断开。请实现具有指数退避的重连逻辑。

5. eth_getLogs 超时

查询大范围区块的日志可能会超时。请使用较小的范围并分页。

公共、托管与专用:需要考虑的事项

为 Polygon 选择 RPC 提供商时,请评估以下因素:

因素公共托管专用
成本免费订阅更高成本
速率限制有更高限制自定义
可靠性尽力而为高最高
归档数据否可选是
WebSocket是是是
自定义方法否有限是

对于生产应用,建议使用托管或专用解决方案。OnFinality 为 Polygon 提供 专用节点 和 托管 RPC,支持归档数据和 WebSocket。

Polygon Amoy 测试网

如果您在测试网上开发,Polygon Amoy 是推荐的测试网(取代已弃用的 Mumbai)。链 ID 为 80002,公共 RPC 端点为 https://polygon-amoy.api.onfinality.io/public。您可以从 Amoy 水龙头获取测试 POL。

关键要点

  • Polygon 主网使用链 ID 137 和原生代币 POL。
  • OnFinality 官方公共端点是 https://polygon.api.onfinality.io/public。
  • 使用 WebSocket 获取实时数据。
  • 对于生产环境,请考虑使用托管或专用 RPC 以避免速率限制并确保可靠性。
  • Polygon Amoy 是用于开发的测试网。

常见问题解答

Polygon 网络的 RPC URL 是什么?

Polygon 主网的公共 RPC URL 是 https://polygon.api.onfinality.io/public。对于 Amoy 测试网,请使用 https://polygon-amoy.api.onfinality.io/public。

Polygon 的链 ID 是什么?

Polygon 主网的链 ID 是 137。Amoy 测试网使用 80002。

Polygon RPC 是否与以太坊兼容?

是的,Polygon 兼容 EVM,因此您可以使用以太坊 JSON-RPC 方法和 ethers.js、viem 等库。

如何获取 Polygon Amoy 的测试 POL?

您可以从 Amoy 水龙头获取测试 POL。有关更多详细信息,请查看 Polygon 网络页面。

为什么我在公共端点上遇到速率限制?

公共端点是共享的,并且有速率限制。要获得更高的限制,请考虑使用 托管 RPC 服务 或 专用节点。

有关支持的网络的完整列表,请访问我们的 网络页面。

RPC 知识库

相关 RPC 内容

RPC 提供商选择Fantom

如何为生产应用选择 Fantom RPC 提供商

选择 Fantom RPC 提供商意味着在延迟、可靠性和成本之间取得平衡,以满足您的应用需求。本指南介绍了在选择提供商时应注意的事项、如何评估端点,以及何时使用专用节点。OnFinality 提供公共 Fantom 端点和专用基础设施选项,以支持您的部署。...

网络 RPCPolygon

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

Polygon节点是运行Polygon PoS客户端栈(Bor执行层和Heimdall共识层)的计算机,它维护链的副本并提供RPC请求服务。您可以运行自己的节点以获得完全控制,或使用像OnFinality这样的托管RPC提供商来获得可靠的端点,而无需承担运维开销。本指南介绍了节点类型、如何连接以及如...

网络 RPCEthereum

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

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

网络 RPCAvalanche

Polygon 主网 RPC:如何连接到链 ID 137?

Polygon 主网是一条 EVM 兼容链,链 ID 为 137,原生 Gas 代币为 POL。要连接,请将您的钱包或应用指向 HTTP 或 WebSocket RPC 端点,并在发送交易前确认链 ID 匹配 137。OnFinality 提供用于测试的公共 Polygon 端点,以及用于需要一致容...

网络 RPCBase

Base RPC 示例:端点设置、curl 调用和调试

本页面展示了可直接复制的 Base RPC 具体示例:公共端点、钱包链设置、curl JSON-RPC 调用,以及使用 viem 的 JavaScript 代码片段。还介绍了如何解读常见错误,以便区分错误请求与速率限制或配置错误的端点。...

网络 RPCAvalanche

如何连接 Bittensor 网络以进行 RPC 访问?

Bittensor 网络是一个去中心化机器学习协议,子网在其中协调 AI 模型和矿工。对于开发者来说,实际的入口点是 Finney 主网,它暴露了一个基于 Substrate 的 JSON-RPC 接口,用于读取链状态、提交外部交易和订阅事件。本文解释了如何连接、在构建之前需要检查什么,以及何时使用...

永远不用担心基础设施

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

开始