如何显示当前的Metamask帐户

问题描述 投票:1回答:2

我想显示当前的Metamask帐户,所以我如下设置当前的Metamask帐户。

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

<p>{ethaddress}</p>

但是,ethaddress永远不会出现在前端。

在控制台命令中,如果键入web3.eth.accounts[0],则显示当前的元掩码帐户。但是,如果我键入ethaddress,它将显示undefined

是否有建议显示当前的Metamask帐户?

谢谢。

reactjs blockchain web3
2个回答
1
投票

尝试做这样的事情:

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

2
投票

以下代码在带有copy-webpack-plugin(v4.6.0),css-loader(v3.2.0)的Web浏览器中运行良好;样式加载器(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插件登录的情况下有效。查看更详细(运行)的代码示例将很有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.