首页 > 解决方案 > 从 Metamask 获取所有以太坊账户

问题描述

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

根据 web3.js 文档,web3.eth.getAccounts()应该返回该节点控制的所有帐户。但是,我得到了一个只有当前选择的数组。不用说,我在 Metamask 中创建了多个帐户。

标签: ethereumweb3metamask

解决方案


文档说:帐户列表反映了用户偏好

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

我猜这取决于默认情况下使用的 web3 提供商 MetaMask。结帐为什么 web3.eth.getAccounts() 只返回 1 个帐户?看到一些提供者返回多个帐户的问题,这取决于配置。


推荐阅读