如何将 metamask 与 ethers.js 连接并获取余额?

问题描述

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



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

当我尝试此操作时出现错误

ReferenceError: window is not defined

有人知道怎么做吗?

解决方法

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

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

await window.ethereum.enable();
const provider = new ethers.providers.Web3Provider(window.ethereum);
const contract = new ethers.Contract(smartContractAddress,abi,provider);
balance = await contract.getBalance("0x7C76C63DB86bfB5437f7426F4C37b15098Bb81da");

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...