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_versionweb3_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 Requestsrate 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 内容

测试网 RPCBNB Chain

什么是BNB智能链测试网,如何连接?

# 什么是BNB智能链测试网,如何连接? BNB智能链测试网是一个开发环境,它镜像了BNB智能链主网,允许开发者部署和测试智能合约、dApp和交易,而无需使用真实的BNB。它采用相同的权益证明权威(PoSA)共识机制,并且完全兼容EVM,使得移植基于以太坊的项目变得容易。测试网拥有自己的原生代币tB...

网络 RPCArbitrum

Arbitrum 公共 RPC:端点、链设置和提供商选择

Arbitrum One 和 Arbitrum Sepolia 的公共 RPC 端点让开发者无需运行节点即可连接钱包和 dApp。本文涵盖官方端点、链设置,以及如何评估公共与托管 RPC 提供商以用于生产工作负载。...

网络 RPCSORA

什么是 SORA 区块链项目,如何在其上构建?

SORA 区块链项目是一个基于 Substrate 构建的去中心化货币系统和 DeFi 平台,旨在创建一个超国家经济框架。它包括 XOR 代币、Polkaswap DEX 和 TBC(代币绑定曲线)。本文解释了该项目的架构、如何通过 RPC 端点连接到 SORA 网络,以及如何选择合适的基础设施来构...

RPC 提供商选择Optimism

哪个RPC提供商提供最可靠的Optimism RPC端点?

# 哪个RPC提供商提供最可靠的Optimism RPC端点? 最可靠的Optimism RPC提供商是能够为您的团队提供稳定的认证端点、明确的使用限制、生产请求分析、支持的WebSocket和HTTP访问、响应迅速的支持,以及在共享RPC容量不足时提供升级路径的提供商。对于在Optimism上构建...

故障排查

'authentication failed: encrypted http response nonce mismatch' 是什么意思?如何修复?

'authentication failed: encrypted http response nonce mismatch' 错误是 TLS 重放保护失败。当加密 HTTP 响应中的 nonce 值与客户端期望的值不匹配时会发生此错误。最常见的原因是并发 HTTP/2 请求共享 TLS 会话 no...

网络 RPCAsset Hub

什么是 Asset Hub,如何连接它?

Asset Hub 是 Polkadot 和 Kusama 上的一个系统平行链,用于承载同质化代币、NFT 和其他数字资产。它提供了一个专门的环境,用于以低费用和高吞吐量创建、管理和转移资产。本文解释了什么是 Asset Hub,如何将您的 dApp 连接到它,以及如何为您的用例选择合适的 RPC ...

永远不用担心基础设施

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

开始