我想显示当前的Metamask帐户,因此我按如下所示设置当前的Metamask帐户。
async componentDidMount() {
const ethaddress = await web3.eth.accounts[0]
}
<p>{ethaddress}</p>
但是,ethaddress
永远不会出现在前端。
在控制台命令中,
如果输入web3.eth.accounts[0]
,则显示当前的元掩码帐户。
但是,如果我输入ethaddress
,它将显示undefined
。
有什么建议可以显示当前的Metamask帐户吗?
谢谢。
答案 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);
}
})