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

如何将 Polygon 网络添加到 MetaMask?

摘要

将 Polygon 添加到 MetaMask 大约需要一分钟:打开网络选择器,选择“添加网络”,然后输入 Polygon 主网链设置(链 ID 137、POL 作为 Gas 代币以及一个 RPC 端点)。棘手的部分通常是 RPC URL,因为公共端点会限速,并且在繁忙时段可能失败。

本页面为您提供确切的 Polygon 主网和 Amoy 测试网设置、可粘贴的钱包配置,以及一份简短指南,帮助您选择一个在超出随意测试后仍能保持响应的 RPC 端点。

MetaMask 默认不启用 Polygon,因此当您第一次想要使用 Polygon dApp 时,必须手动添加网络,或者让 dApp 提示您添加。设置很简单,但您选择的 RPC URL 决定了钱包在首次交易后是否仍然可用。

本页面为您提供确切的 Polygon 主网和 Amoy 测试网值、可复制粘贴的钱包配置,以及一种实用的方法来确定将 MetaMask 指向哪个端点。

您应该先添加哪个 Polygon 网络?

大多数搜索此内容的人试图做以下三件事之一,正确的网络取决于您属于哪种情况。

您的目标要添加的网络链 IDGas 代币
使用实时 dApp、兑换或持有代币Polygon 主网137POL
在部署前测试合约或 dAppPolygon Amoy80002POL
遵循提到 Mumbai 的教程Amoy(Mumbai 已弃用)80002POL

如果您要与真实资金或生产 dApp 交互,请添加 Polygon 主网。如果您是部署合约的开发者,请将 Amoy 添加为第二个网络,并保留主网用于只读检查。Mumbai 是旧的测试网,不再用于新工作。

关于 Gas 代币的简要说明:Polygon 已将其原生代币从 MATIC 迁移到 POL。在某些版本中,MetaMask 可能仍显示旧的 MATIC 标签,但当前设置中添加网络时输入的符号应为 POL。

MetaMask 的 Polygon 链设置

这些是您在“添加网络”表单中输入的值。请确保它们在您的钱包、脚本和后端之间保持一致。

字段Polygon 主网Polygon Amoy(测试网)
网络名称PolygonPolygon Amoy
RPC URLhttps://polygon.api.onfinality.io/publichttps://polygon-amoy.api.onfinality.io/public
链 ID13780002
货币符号POLPOL
区块浏览器https://polygonscan.comhttps://amoy.polygonscan.com

OnFinality 将这两个网络作为 RPC API 端点公开,您可以在 Polygon RPC 页面 上查看完整的网络详情。如果您希望运行自己的端点而不是共享端点,请参阅 专用节点。

逐步将 Polygon 添加到 MetaMask

  1. 打开 MetaMask,点击钱包顶部的网络选择器。
  2. 选择 添加网络,然后选择 手动添加网络。
  3. 填写上表中的字段。仔细检查链 ID:主网为 137,Amoy 为 80002。
  4. 保存,然后切换到新网络。
  5. 通过检查您的地址余额是否加载以及网络名称是否显示为 Polygon 来确认切换成功。

如果 dApp 提供一键 添加 Polygon 按钮,它将通过 wallet_addEthereumChain 向 MetaMask 发送相同的值。您最终仍会得到相同的配置,因此了解这些值以防提示失败是值得的。

通过代码添加网络

如果您正在构建 dApp 并希望以编程方式添加或切换网络,请直接使用钱包 RPC 方法。这与用户点击添加网络按钮时 MetaMask 期望的负载相同。

// 将 Polygon 主网添加到注入式钱包
await window.ethereum.request({
  method: "wallet_addEthereumChain",
  params: [
    {
      chainId: "0x89", // 137 的十六进制
      chainName: "Polygon",
      nativeCurrency: { name: "POL", symbol: "POL", decimals: 18 },
      rpcUrls: ["https://polygon.api.onfinality.io/public"],
      blockExplorerUrls: ["https://polygonscan.com"],
    },
  ],
});

// 如果用户在其他链上,则切换到此链
await window.ethereum.request({
  method: "wallet_switchEthereumChain",
  params: [{ chainId: "0x89" }],
});

请注意,这些调用中的 chainId 是十六进制,而 MetaMask 表单使用十进制。混用两者是添加网络提示静默失败的最常见原因之一。

选择能经受实际使用的 RPC URL

这是大多数设置指南跳过的部分,也是人们一周后卡住的地方。RPC URL 是您的钱包用于每次余额检查、Gas 估算和交易广播的端点。一个在单次测试交易中可用的公共端点,一旦您不断轮询或发送突发请求,就可能开始返回错误。

当您为 MetaMask 或 dApp 评估端点时,请查看以下信号,而不是单次速度测试:

信号为什么重要检查什么
请求容量钱包频繁轮询;dApp 轮询更频繁计划是共享还是专用
传输支持某些功能需要 WebSocketHTTP 和 WS 是否都可用
归档访问历史状态和日志需要归档节点是否支持归档查询
故障转移一个端点宕机不应破坏应用是否可以配置备用 URL
网络覆盖您以后可能会添加更多链提供商是否覆盖您计划使用的链

OnFinality 在一系列网络上提供 RPC API 访问和专用节点基础设施,因此您可以从共享端点开始,并在请求量或延迟需求增长时迁移到专用节点。您可以在 RPC 定价页面 上比较选项,并在 支持的 RPC 网络 上查看完整列表。

对于 MetaMask 而言,共享端点通常适合个人使用。对于拥有大量用户的 dApp,专用节点可以消除“吵闹邻居”问题,即其他项目的流量影响您的响应时间。

在信任连接之前验证它

添加网络后,确认端点确实有响应。您可以使用简单的 JSON-RPC 调用在钱包外测试它。

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

响应应返回 0x89,即十六进制的 137。如果您得到不同的值,说明您指向了错误的网络。您还可以检查最新区块以确认端点已同步:

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

如果 eth_chainId 正常工作,但 eth_blockNumber 落后于区块浏览器,则节点可能正在追赶,或者端点可能负载过高。这是切换到其他端点的信号,而不是在钱包中重试。

添加 Polygon 后的常见问题

人们遇到的大多数问题不是 MetaMask 的 bug。它们属于几个可重复的类别。

交易卡在待处理状态。 这通常是 Gas 价格或 nonce 问题,而不是网络问题。在 Polygonscan 上检查交易,如有需要,在 MetaMask 中加速或取消它。

切换后余额显示为零。 确认您在正确的链上(137 对 80002),并且代币已添加到钱包。POL 是原生代币;其他代币需要通过合约地址导入。

RPC 错误或超时。 公共端点会限速。如果您看到重复的 -32005 或超时错误,请切换到不同的 RPC URL 或迁移到专用端点。

链 ID 错误。 如果 dApp 报告错误的网络,请重新检查您输入的是 137 而不是测试网 ID。链 ID 不匹配会导致看起来无关的签名和交易失败。

测试网代币缺失。 Amoy 需要从水龙头获取测试 POL。主网 POL 不能用于 Amoy,测试网 POL 没有价值。

何时从公共端点迁移

公共 RPC URL 是一个合理的起点。当以下任何情况成立时,它就不再合理:

  • 您的 dApp 有真实用户,您无法容忍间歇性的 RPC 错误。
  • 您需要归档数据来获取历史余额或日志。
  • 您依赖 WebSocket 订阅来获取实时更新。
  • 您发送的请求足够多,共享速率限制成为障碍。
  • 当出现问题时,您需要支持渠道。

此时,决策是在托管共享端点和专用节点之间。共享端点更便宜、更简单;专用节点提供隔离的容量和更可预测的负载行为。如果您正在一般性地权衡提供商,RPC 提供商选择指南 更深入地介绍了这些标准。

关键要点

  • Polygon 主网使用链 ID 137 和 POL 作为 Gas 代币;Amoy 测试网使用 80002。
  • 您可以在 MetaMask 中手动添加网络,或通过 dApp 使用 wallet_addEthereumChain 添加。
  • RPC URL 是长期最重要的设置,因为公共端点在负载下会限速。
  • 在生产环境中信任端点之前,使用 eth_chainId 和 eth_blockNumber 验证它。
  • 当共享限制、归档需求或 WebSocket 要求开始阻碍您时,迁移到专用节点。

常见问题

Polygon 和 MATIC 是一样的吗? Polygon 是网络;MATIC 是较旧的原生代币符号。该网络现在使用 POL,尽管一些钱包仍显示旧标签。

Polygon 使用什么链 ID? Polygon 主网是 137。Polygon Amoy 测试网是 80002。在钱包 RPC 调用中,137 是 0x89。

MetaMask 需要特殊的 RPC URL 吗? 不需要。任何可用的 Polygon RPC 端点都可以。一旦您定期使用钱包或运行 dApp,托管端点比公共端点更可靠。

主网和测试网可以使用相同的 RPC URL 吗? 不可以。主网和 Amoy 是独立的网络,具有独立的端点和独立的链 ID。如果您在 Polygon 上开发,请保持两者都配置好。

为什么 MetaMask 说网络不可用? 通常 RPC 端点已关闭、被限速或配置错误。使用 curl 调用 eth_chainId 测试 URL,如果失败则切换端点。

RPC 知识库

相关 RPC 内容

区块链基础设施

Dedicated vs Shared Nodes: Performance Insights for Developers

Choosing between dedicated and shared RPC nodes impacts latency, rate limits, and reliability. Dedicated nodes provide exclusive resources, predictabl...

网络 RPCBase

Base RPC API: Endpoint Settings, Marketplace Alternatives, and Production Setup

Base RPC is the JSON-RPC interface to the Base L2 network, used to read state, send transactions, and subscribe to events. This page covers the public...

网络 RPCBase

什么是公共 Base RPC URL,什么时候应该使用它?

公共 Base RPC URL 是一个共享的、无需注册的 HTTP 端点,让你的应用可以读取 Base 链数据并广播交易。这是将钱包、脚本或原型连接到 Base 的最快方式,但它是共享基础设施,没有可用性承诺,因此最适合开发和轻量流量,而非生产工作负载。 本文解释了 Base 公共端点实际上是什么,...

网络 RPCBase

Base 链 ID 是什么,在哪里可以获取免费的 Base RPC 端点?

Base 主网使用链 ID 8453,Base Sepolia 使用链 ID 84532。当你将 Base 添加到钱包或将客户端指向该网络时,需要正确的链 ID 以及 RPC URL。OnFinality 在 https://base.api.onfinality.io/public 提供免费的公共...

网络 RPCAvalanche

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

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

RPC 提供商选择

如何评估最佳区块链JSON-RPC API解决方案?

区块链JSON-RPC API让您的dApp无需运行全节点即可读写网络。但并非所有供应商都一样——延迟、存档支持、WebSocket可用性和定价模型差异很大。本文介绍了每个开发人员在为生产环境选择RPC API提供商之前应检查的评估标准。...

永远不用担心基础设施

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

开始