ethereum - 即使网络发生变化,wallet_addEthereumChain也会返回运行时错误

标签 ethereum metamask ethers.js

我在我的 NextJS React 应用程序中调用它:

provider.send('wallet_addEthereumChain', [networkMaps[networkName]])

结果如下:

Uncaught (in promise) Error: underlying network changed (event="changed", network={"name":"matic","chainId":137,"ensAddress":null}, detectedNetwork={"name":"maticmum","chainId":80001,"ensAddress":null,"_defaultProvider":null}, code=NETWORK_ERROR, version=providers/5.6.8)

enter image description here

虽然当我检查元掩码时,网络已更改。 知道为什么会出现此错误吗?

此外,当我将该调用包装在 try/catch 中时,catch 不会捕获上述错误。有什么想法吗?

最佳答案

使用向提供程序添加任何内容的解决方案解决了此问题: https://github.com/Uniswap/web3-react/issues/127

关于ethereum - 即使网络发生变化,wallet_addEthereumChain也会返回运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72993029/

相关文章:

go - geth account new - 命令行密码

ethereum - 地址或 ENS 名称无效

javascript - 使用 Ethers JS 估算 gas 价格

node.js - 检查 ERC-20 token 是否是骗局/蜜 jar

javascript - 如何在 node.js 应用程序中使用 ethers.js contract.on() 监听来自智能合约的事件?

ethereum - 通过 Web3 获取 ETH FIAT 兑换率

typescript - 类型 '{ value: BigNumber; }' 的参数不可分配给类型 'Overrides & { from?: string | Promise<string> | undefined; }' 的参数

ethereum - Solidity 和 Web3 sha3() 方法返回其他内容

reactjs - 在 React 中使用 MetaMask 中的 web3

vagrant - 如何从 Vagrant 盒子运行 ganache-cli?