首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Metamask: wallet_addEthereumChain在使用多边形mainet时不起作用,而是与孟买多边形一起工作。

Metamask: wallet_addEthereumChain在使用多边形mainet时不起作用,而是与孟买多边形一起工作。
EN

Ethereum用户
提问于 2021-12-14 09:39:43
回答 2查看 6.3K关注 0票数 1

我试图以编程方式切换用户的元问询网络。使用wallet_addEthereumChain

当请求对孟买多边形进行网络更改时,它工作得很好,但是在使用Polygon Mainet时不起作用,我得到:Chain ID returned by RPC URL https://polygon-rpc.com does not match 0x137

如果我在元问题上手动添加网络,使用相同的信息就可以了。

  • 以上代码适用于多边形孟买。
代码语言:javascript
运行
复制
const { ethereum } = window;
 await ethereum.request({
                id: 1,
                jsonrpc: "2.0",
                method: "wallet_addEthereumChain",
                params: [
                  {
                    chainId: "0x13881",
                    rpcUrls: ["https://rpc-mumbai.maticvigil.com"],
                    chainName: "Polygon Testnet Mumbai",
                    nativeCurrency: {
                      name: "tMATIC",
                      symbol: "tMATIC", // 2-6 characters long
                      decimals: 18,
                    },
                    blockExplorerUrls: ["https://mumbai.polygonscan.com/"],
                  },
                ],
              }); 
代码语言:javascript
运行
复制
const { ethereum } = window;
await ethereum.request({
                  id: 1,
                  jsonrpc: "2.0",
                  method: "wallet_addEthereumChain",
                  params: [
                    {
                      chainId: "0x137",
                      rpcUrls:[  "https://polygon-rpc.com"],

                      chainName: "Polygon Mainnet",
                      nativeCurrency: {
                        name: "MATIC",
                        symbol: "MATIC", // 2-6 characters long
                        decimals: 18,
                      },
                      blockExplorerUrls: ["https://polygonscan.com/"],
                    },
                  ],
                });
  • 下面是用户在我发送请求时所使用的元问题钱包的屏幕截图。
EN

回答 2

Ethereum用户

回答已采纳

发布于 2021-12-14 17:22:03

尝试使用web3.utils.toHex()函数将十六进制转换为web3.utils.toHex:

代码语言:javascript
运行
复制
chainId = '137'; chainId = web3.utils.toHex(chainId);

chainData = [{
    chainId: chainId,
    chainName: 'Matic(Polygon) Mainnet',
    nativeCurrency: { name: 'MATIC', symbol: 'MATIC', decimals: 18 },
    rpcUrls: ['https://polygon-rpc.com'],
    blockExplorerUrls: ['https://www.polygonscan.com'],
}];
票数 7
EN

Ethereum用户

发布于 2021-12-29 20:46:34

代码语言:javascript
运行
复制
import { utils } from 'ethers';

const networkMap = {
  POLYGON_MAINNET: {
    chainId: utils.hexValue(137), // '0x89'
    chainName: "Matic(Polygon) Mainnet", 
    nativeCurrency: { name: "MATIC", symbol: "MATIC", decimals: 18 },
    rpcUrls: ["https://polygon-rpc.com"],
    blockExplorerUrls: ["https://www.polygonscan.com/"],
  },
  MUMBAI_TESTNET: {
    chainId: utils.hexValue(80001), // '0x13881'
    chainName: "Matic(Polygon) Mumbai Testnet",
    nativeCurrency: { name: "tMATIC", symbol: "tMATIC", decimals: 18 },
    rpcUrls: ["https://rpc-mumbai.maticvigil.com"],
    blockExplorerUrls: ["https://mumbai.polygonscan.com/"],
  },
};


await window.ethereum.request({
    method: "wallet_addEthereumChain",
    params: [networkMap.MUMBAI_TESTNET],
});
票数 3
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/115565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档