MetaMask 与 Coinbase 钱包冲突

Xaa*_*rth 7 coinbase-api ethereum web3js metamask

我正在尝试从我的 dapp 连接到元掩码。按照文档:https ://docs.metamask.io/guide/getting-started.html#connecting-to-metamask

但是当我调用eth_requestAccounts方法时,它也会打开 coinbase 弹出窗口。

如何解决这个问题?有什么建议么?

ethereum.request({ method: 'eth_requestAccounts' });
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

小智 10

问题是您安装了多个提供程序,如果您只想针对 MetaMask,则需要单独选择该提供程序。

// Find MetaMask Provider

const provider = window.ethereum.providers.find((provider) => provider.isMetaMask);
provider.request({ method: 'eth_requestAccounts' });
Run Code Online (Sandbox Code Playgroud)

您也可以尝试使用元掩码提供程序检测器,但它对我不起作用。 https://docs.metamask.io/guide/ethereum-provider.html#ethereum-provider-api

  • 这在 chrome 上对我不起作用,因为“window.ethereum.providers”是“未定义”。还有其他解决方案吗? (2认同)