web-dev-qa-db-fra.com

Comment déclencher des modifications Demande de réseau Blockchain sur le métamasque

J'utilise web3 pour mon premier test DAPP et que je voudrais faire de sorte que Metamask demandera à l'utilisateur de modifier le réseau réseau en binance (BSC) s'il n'est pas déjà sélectionné, comme ici:

metamask requesto change network

Comment déclencher une telle demande?

7
Andrea D_
async switchEthereumChain() {
    try {
      await window.ethereum.request({
        method: 'wallet_switchEthereumChain',
        params: [{ chainId: '0x61' }],
      });
    } catch (e: any) {
      if (e.code === 4902) {
        try {
          await window.ethereum.request({
            method: 'wallet_addEthereumChain',
            params: [
              {
                chainId: '0x61',
                chainName: 'Smart Chain - Testnet',
                nativeCurrency: {
                  name: 'Binance',
                  symbol: 'BNB', // 2-6 characters long
                  decimals: 18
                },
                blockExplorerUrls: ['https://testnet.bscscan.com'],
                rpcUrls: ['https://data-seed-prebsc-1-s1.binance.org:8545/'],
              },
            ],
          });
        } catch (addError) {
          console.error(addError);
        }
      }
      // console.error(e)
    }
  }

Tandis que la réponse ci-dessus ne fonctionne pas pour moi, cela me donne une erreur de des touches non prises en charge:\nrpcurl " C'est parce que le lieu de rpcurl, il devrait être des rpcurls Dans un tableau de chaîne, prenez également note de BlockExplorerURLS.

Vous pouvez trouver les documents de Metamask ici

0
iwantcheeseburger