如何在 React.js 中连接 Polygon 链上的 Metamask 钱包并获取余额

在使用 React.js 开发的 DAAP 上执行以下操作的最佳方法是什么?

行动:

  • 连接/断开...在 Metamask 钱包上
  • 获取账户
  • 从此账户获取 MATIC 余额
  • 从此账户获取 ERC720 代币

最低要求(目标):

  • 内置于 react.js
  • 只需要元掩码集成
  • 需要在Polygon链网络上运行

我很困惑,因为我尝试了很多库,如 web3.js、ether.js、web3-react ......但我没有找到合适的解决方案。任何人都可以说明我并告诉我最好的方法吗?

stack overflow How to connect and get the balance from a Metamask wallet on the Polygon chain in React.js
原文答案

答案:

作者头像

您可以使用基本的元掩码函数来连接元掩码并获取帐户详细信息,对于余额部分,您可以使用来自 web3js 库的 web3 调用,或者为了方便使用来自多边形的 maticjs library 。编写此快速代码段以使用 maticjs 获取余额。在 https://github.com/ankitboghra/polygon-dapp-poc 查看 React DApp 的完整 POC

import { POSClient, use } from "@maticnetwork/maticjs"
import { Web3ClientPlugin } from '@maticnetwork/maticjs-web3'

use(Web3ClientPlugin)

await posClient.init({
      network: networkName,  // 'testnet' or 'mainnet'
      version: networkVersion, // 'mumbai' or 'v1'
      parent: {
        provider: mainProvider,
        defaultConfig: {
          from: currentAccount
        }
      },
      child: {
        provider: maticProvider,
        defaultConfig: {
          from: currentAccount
        }
      }
    });

const erc20Token = posClient.erc20(tokenAddress, false);
const balance = await erc20Token.getBalance(currentAccount)