如何显示当前 Metamask 帐户

How to show current Metamask account

我想显示当前的 Metamask 帐户,所以我像下面这样设置当前的 Metamask 帐户。

async componentDidMount() {
  const ethaddress = await web3.eth.accounts[0] 
}

<p>{ethaddress}</p>

然而,ethaddress 从未出现在前端。

在控制台命令中, 如果我输入 web3.eth.accounts[0],它会显示当前的 metamask 帐户。 但是如果我输入 ethaddress,它会显示 undefined.

是否有显示当前 metamask 帐户的任何建议?

谢谢。

尝试做这样的事情:

 web3.eth.getCoinbase(function (err, account) {
            if (err === null) {
                App.account = account;
                console.log("account", App.account);
            }
        })

以下代码在使用 copy-webpack-plugin (v4.6.0), css-loader (v3.2.0) 的网络浏览器中运行良好;样式加载器 (v1.0.0)、web3 (v1.2.1)、webpack (v4.41.0) 和 webpack-dev-server (v3.8.1)。

import {default as Web3} from 'web3';

web3.eth.getAccounts(function (err, accs) {
    if (err != null) {
         self.setStatus("There was an error fetching your accounts");
         return;
    }
    if (accs.length === 0) {
         self.setStatus("Make sure that you installed and started Metamask plugin and reload this page");
         return;
    }
    console.log('Got account: ', accs[0]);
});

但此代码仅适用于用户在页面加载时已在 Metamask 插件中登录的情况。查看您的代码的更详细 (运行) 示例会很有帮助。