Web3js 通过web3.js 1.x访问metamask中的帐户
我想通过web3.js在metamask插件中检索当前选定的帐户。我想动态地做,所以当切换到另一个帐户时,它应该被打印到UI上 我正在通过以下方式导入库beta.37: 让事情变得更复杂: 在Brave web3.eth.accounts[0]中的1会将我的当前地址记录在除我的dApp之外的任何其他站点中,但在这里,它返回未定义的。 2在同一版本中,它总是返回未定义的 对我来说,当构建在web3.js 0.x上的其他DAPP使用完全相同的代码时,它如何返回未定义的代码是令人费解的 因此,我无法使用以下函数动态打印当前地址:Web3js 通过web3.js 1.x访问metamask中的帐户,web3js,metamask,Web3js,Metamask,我想通过web3.js在metamask插件中检索当前选定的帐户。我想动态地做,所以当切换到另一个帐户时,它应该被打印到UI上 我正在通过以下方式导入库beta.37: 让事情变得更复杂: 在Brave web3.eth.accounts[0]中的1会将我的当前地址记录在除我的dApp之外的任何其他站点中,但在这里,它返回未定义的。 2在同一版本中,它总是返回未定义的 对我来说,当构建在web3.js 0.x上的其他DAPP使用完全相同的代码时,它如何返回未定义的代码是令人费解的 因此,我无法
var accountInterval = setInterval(function() {
if (web3.eth.accounts[0] !== userAccount) {
userAccount = web3.eth.accounts[0];
}
}, 100);
在web3.js 1.x中,必须使用getAccounts异步方法,例如:
var accounts = await web3.eth.getAccounts();
var userAccount =accounts[0]
PS:web3.eth.accounts[0]在其他DAPP中显示您的帐户,因为它们仍然使用旧的web3.js版本,很可能是Metamask注入的版本