🤷♀️
[解決策]MetamaskとCoinbase Walletが同時に起動してしまう問題
こんちゃ、最近は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