🤷‍♀️

[解決策]MetamaskとCoinbase Walletが同時に起動してしまう問題

2022/01/10に公開

こんちゃ、最近はNFTサービスの基盤を一人でもりもり書いてる高校生です。Openseaみたいな色んなウォレットでのDappへの接続をする実装をしていたのですがMetamaskの接続の際にCoinbase Walletも起動してしまい困ってしまいました。調べてる限りUniswapでさえもその問題に引っかかってるしWeb3Modalでもその問題は取り上げられていました。ただもっと簡単な解決策ってのが意外にもあったので今回ちゃちゃっと共有しちゃいます。

現象

※ちょっと僕の方で再現画面出したかったんですが仕事のなので同じ症状のネットの画像ですが貼りました。

解決策

起動したいWalletのProviderだけでアカウント呼び出しをする

Metamaskの場合

let provider: any;
provider = window.ethereum.providers.find((p: any) => p.isMetaMask);
provider.request({method: 'eth_requestAccounts'});

Coinbase Walletの場合

let provider: any;
provider = window.ethereum.providers.find((p: any) => p.isCoinbaseWallet);
provider.request({method: 'eth_requestAccounts'});

Discussion