从Metamask获取所有以太坊账户

时间:2018-10-24 19:48:54

标签: ethereum web3 metamask

我想获取用户已在Metamask中添加的所有帐户。我尝试了所有web3.js方法来获取帐户,但始终只能获得一个帐户,该帐户始终是当前选择的帐户。

根据web3.js文档,%%timeit pvals=[] coefs=[] for i in VarsOut: pval, coef = dask.delayed(testVar)(i) pvals.append(pval) coefs.append(coef) pvals, coefs = dask.compute(pvals,coefs) TStatsOut = pd.DataFrame(data={'PValue':pvals, 'Coeff':coefs}, index=VarsOut)[['PValue','Coeff']] 应该返回该节点控制的所有帐户。但是,我得到的只是当前选定的数组。不用说,我在Metamask中创建了多个帐户。

1 个答案:

答案 0 :(得分:0)

文档显示:Account List Reflects User Preference

  

当用户在MetaMask中选择一个帐户时,该帐户会在您的JS上下文中默默地成为web3.eth.accounts[0]数组中的唯一成员web3.eth.accounts

我猜想这取决于默认情况下由MetaMask使用的web3提供程序。检出Why does web3.eth.getAccounts() return only 1 account?问题,看是否有一些提供者返回了多个帐户,这取决于配置。