摘要
查找 Polygon 主网和 Amoy 测试网的官方 RPC 端点,包括 HTTPS 和 WebSocket URL。了解如何根据应用需求在公共、托管和专用 RPC 提供商之间进行选择,并获取钱包和开发者的配置示例。
当您搜索 Polygon RPC 列表时,通常需要两样东西之一:一个用于粘贴到钱包的快速端点,或一个用于生产应用的可靠 RPC 提供商。本页面为您提供两者。您将找到 Polygon 主网和 Amoy 测试网的官方公共端点,以及一个实用的框架,用于决定哪种 RPC 设置适合您的工作负载。
快速推荐:您应该使用哪个 Polygon RPC?
对于本地开发、测试或钱包,下面列出的公共端点就足够了。它们有速率限制且是共享的,因此不适合生产 dApp 或高流量服务。
对于生产应用,您需要一个提供更高吞吐量、WebSocket 支持和专用节点选项的托管 RPC 提供商。OnFinality 提供 Polygon RPC 端点,包括共享和专用基础设施。您可以从免费层开始,并在流量增长时扩展到 专用节点。
以下是一个快速决策指南:
- 钱包或简单 dApp:使用公共端点或托管提供商的免费层。
- 中等流量的生产 dApp:使用托管 RPC 提供商,选择提供更高速率限制和 WebSocket 支持的付费计划。
- 高吞吐量或数据密集型应用:考虑使用专用节点以避免速率限制和邻居干扰。
- 测试网开发:使用 Amoy 测试网端点。
官方 Polygon RPC 端点
以下是 OnFinality 为 Polygon 提供的官方公共 RPC 端点。这些适用于测试和低容量使用。
Polygon 主网
- 链 ID:137
- HTTPS:
https://polygon.api.onfinality.io/public - WebSocket:
wss://polygon.api.onfinality.io/public/ws - 区块浏览器:https://polygonscan.com
- 原生货币:POL(原 MATIC)
Polygon Amoy 测试网
- 链 ID:80002
- HTTPS:
https://polygon-amoy.api.onfinality.io/public - 区块浏览器:https://amoy.polygonscan.com
- 原生货币:POL
注意:Amoy 测试网的公共端点目前不支持 WebSocket。如果您需要测试网的 WebSocket,可能需要专用节点。
链设置一览
下表总结了 Polygon 主网和 Amoy 测试网的关键网络参数。在配置钱包或向 dApp 添加网络时使用这些参数。
| 参数 | Polygon 主网 | Polygon Amoy 测试网 |
|---|---|---|
| 网络名称 | Polygon 主网 | Polygon Amoy |
| 链 ID | 137 | 80002 |
| 原生货币 | POL | POL |
| HTTPS RPC URL | https://polygon.api.onfinality.io/public | https://polygon-amoy.api.onfinality.io/public |
| WebSocket RPC URL | wss://polygon.api.onfinality.io/public/ws | 公共端点不可用 |
| 区块浏览器 | https://polygonscan.com | https://amoy.polygonscan.com |
如何配置您的钱包或 dApp
大多数钱包和 dApp 允许您添加自定义网络。以下是如何在 JavaScript 应用中使用 ethers.js 配置 Polygon 主网的示例。
import { ethers } from "ethers";
const polygonProvider = new ethers.JsonRpcProvider(
"https://polygon.api.onfinality.io/public"
);
const network = await polygonProvider.getNetwork();
console.log("Chain ID:", network.chainId); // 137
对于像 MetaMask 这样的钱包,您可以使用 wallet_addEthereumChain RPC 方法以编程方式切换网络。
await window.ethereum.request({
method: "wallet_addEthereumChain",
params: [{
chainId: "0x89", // 137 in hex
chainName: "Polygon Mainnet",
nativeCurrency: {
name: "POL",
symbol: "POL",
decimals: 18
},
rpcUrls: ["https://polygon.api.onfinality.io/public"],
blockExplorerUrls: ["https://polygonscan.com"]
}]
});
公共、托管和专用 RPC 对比
当您看到 Polygon RPC 端点列表时,您可能看到的是公共 URL。这些是免费的,但有局限性。以下是三种主要选项的详细说明:
公共 RPC 端点
- 优点:免费,无需注册,易于测试。
- 缺点:速率受限,共享带宽,测试网不支持 WebSocket,不适合生产环境。
托管 RPC 提供商
- 优点:更高的速率限制,WebSocket 支持,多个端点用于故障转移,技术支持,以及分析功能。
- 缺点:大规模使用时需要付费,但许多提供商提供免费层。
专用节点
- 优点:资源有保证,速率限制明确,完全控制节点,可访问归档数据和调试/追踪方法。
- 缺点:更昂贵,需要更多运维知识。
对于生产 dApp,托管 RPC 提供商通常是理想选择。OnFinality 提供 RPC 定价,可根据您的使用量扩展,您可以从 支持的网络列表 中选择,包括 Polygon。
常见 RPC 方法和示例
Polygon 是一个兼容以太坊的链,因此它支持标准的以太坊 JSON-RPC 方法。以下是一些您可能使用的常见方法。
获取最新区块号
curl https://polygon.api.onfinality.io/public \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
获取交易收据
curl https://polygon.api.onfinality.io/public \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0x..."],"id":1}'
订阅新的待处理交易(WebSocket)
const ws = new WebSocket("wss://polygon.api.onfinality.io/public/ws");
ws.onopen = () => {
ws.send(JSON.stringify({
jsonrpc: "2.0",
method: "eth_subscribe",
params: ["newPendingTransactions"],
id: 1
}));
};
ws.onmessage = (event) => {
console.log(event.data);
};
常见 RPC 问题排查
即使有良好的 RPC 列表,您也可能会遇到问题。以下是一些常见问题及解决方法。
速率限制
如果您看到类似 429 Too Many Requests 或 rate limit exceeded 的错误,说明您已触及公共端点的限制。请切换到托管提供商或专用节点。
WebSocket 断开
公共 WebSocket 端点在高负载时可能会断开连接。对于生产环境,请使用提供稳定 WebSocket 连接的托管提供商。
链 ID 错误
确保您的 dApp 使用正确的链 ID(主网为 137,Amoy 为 80002)。不匹配将导致交易失败。
节点不同步
如果您运行自己的节点,它可能会失去同步。检查节点日志,并确保有足够的磁盘空间和带宽。
关键要点
- Polygon 主网使用链 ID 137,原生货币为 POL。
- Amoy 测试网使用链 ID 80002,是 Polygon 开发推荐的测试网。
- 公共 RPC 端点适合测试,但不适合生产。
- 像 OnFinality 这样的托管 RPC 提供商提供可扩展、可靠的端点,并支持 WebSocket。
- 对于高吞吐量或数据密集型应用,请考虑使用专用节点。
常见问题解答
什么是官方的 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 测试网的链 ID 是 80002。
Polygon 支持 WebSocket 吗?
是的,Polygon 主网支持 WebSocket,地址为 wss://polygon.api.onfinality.io/public/ws。Amoy 的公共端点目前不支持 WebSocket。
Polygon 和 Polygon Amoy 有什么区别?
Polygon 是主网,而 Polygon Amoy 是用于开发和测试的测试网。它们具有不同的链 ID 和 RPC 端点。
我可以将公共 Polygon RPC 用于生产环境吗?
公共 RPC 端点有速率限制且是共享的,因此不建议用于生产应用。请考虑使用托管 RPC 提供商或专用节点以获得可靠服务。
如何获取 Amoy 测试网的 POL 代币?
您可以从 Amoy 水龙头获取测试 POL。请查看官方 Polygon 文档以获取当前水龙头 URL。
Polygon 支持哪些 RPC 方法?
Polygon 支持标准的以太坊 JSON-RPC 方法,包括 eth_blockNumber、eth_getBalance、eth_sendRawTransaction 等。有关完整列表,请参阅 以太坊 JSON-RPC 规范。
如何在共享和专用 RPC 节点之间选择?
如果您的应用流量适中,并且可以容忍偶尔的速率限制,那么共享托管 RPC 就足够了。如果您需要高吞吐量、归档数据或自定义方法,则专用节点更好。
OnFinality 支持 Polygon 吗?
是的,OnFinality 支持 Polygon 主网和 Amoy 测试网。您可以在 Polygon 网络页面 上找到更多详细信息。
如何开始使用 OnFinality 的 Polygon RPC?
注册账户,创建 API 密钥,并使用提供的端点。您可以从免费层开始,并根据需要升级。有关详细信息,请参阅 RPC 定价。