Saturday 27 November 2021

Auto Add & Switch Network Wallet Dengan Web3


cara menambah dan mengubah network wallet dengan web3
- Di dalam sebuah Dapps, tak jarang setiap user diwajibkan untuk switch network sebelum menggunakan seluruh layanan. Karena biasanya smart contract setiap aplikasi berada di jaringan yang berbeda.

Nah, berikut ini adalah cara otomatisasi atau force switch user ke network yang telah kita tentukan dan juga menambah jaringan secara otomatis.

Saya akan mencoba switch network user ke jaringan Mumbai Polygon. Jika network belum ada di wallet user, maka akan otomatis ditambah.

try {
        await web3.currentProvider.request({
          method: "wallet_switchEthereumChain",
          params: [{ chainId: "0x13881" }],
        });
      } catch () {
        try {
        await web3.currentProvider.request({
            method: "wallet_addEthereumChain",
            params: [
            {
                chainId: "0x13881",
                chainName: "Mumbai",
                rpcUrls: ["https://matic-mumbai.chainstacklabs.com"],
                nativeCurrency: {
                name: "Matic",
                symbol: "Matic",
                decimals: 18,
                },
                blockExplorerUrls: ["https://explorer-mumbai.maticvigil.com"],
            },
            ],
        });
        } catch (error) {
            alert(error.message);
        }
    }
Dalam penggunaan method switch dan add chain, kita menggunakan hex chain id, bukan decimal chain id. Berikut ini cara mendapatkan hex dan decimal current chain id.
const chainIdHex = web3.currentProvider.chainId;
const chainIdDec = await web3.eth.getChainId();
console.log(chainIdHex);
console.log(chainIdDec);

0 komentar

Post a Comment

Hai, Mohon Komentar Yang Relevan Dan Tidak OOT!