如何显示当前的Metamask帐户

时间:2019-04-09 02:34:23

标签: reactjs blockchain web3

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

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

<p>{ethaddress}</p>

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

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

有什么建议可以显示当前的Metamask帐户吗?

谢谢。

2 个答案:

答案 0 :(得分: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)。

mix.scripts([
    'resources/js/jquery-3.4.1.min.js',
    'resources/js/main.js',
    'resources/js/app.js'
], 'public/js/scripts.js');

但是,此代码仅在页面加载时用户已经通过Metamask插件登录的情况下有效。查看更详细(运行)的代码示例将很有帮助。

答案 1 :(得分:1)

尝试执行以下操作:

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