如何将元掩码与 ethers.js 连接并获取余额?

how to connect metamask with ethers.js and fetch balance?

我一直在尝试连接 metamask 和 ethers.js 以获取我当前的钱包余额



const provider = new ethers.providers.Web3Provider(window.ethereum)
const signer = provider.getSigner()
balance =  provider.getBalance("0x7C76C63DB86bfB5437f7426F4C37b15098Bb81da")

当我尝试这个时出现错误

ReferenceError: window 未定义

有人知道怎么做吗?

您需要 运行 在本地主机或服务器上的 Web 应用程序 运行 上安装此代码。当然,您需要在浏览器上安装 MetaMask。

将此代码放在您网站的脚本部分:

await window.ethereum.request({method: 'eth_requestAccounts'});
const provider = new ethers.providers.Web3Provider(window.ethereum);
const contract = new ethers.Contract(smartContractAddress, abi, provider);
balance = await contract.getBalance("0x7C76C63DB86bfB5437f7426F4C37b15098Bb81da");