ethereum - 从 Metamask 获取所有以太坊账户
问题描述
我想获取用户在 Metamask 中添加的所有帐户。我尝试了所有 web3.js 方法来获取帐户,但我总是只得到一个始终是当前选择的帐户。
根据 web3.js 文档,web3.eth.getAccounts()
应该返回该节点控制的所有帐户。但是,我得到了一个只有当前选择的数组。不用说,我在 Metamask 中创建了多个帐户。
解决方案
文档说:帐户列表反映了用户偏好
当用户在 MetaMask 中选择一个帐户时,该帐户会在您的 JS 上下文中静默地成为该数组
web3.eth.accounts[0]
的唯一成员。web3.eth.accounts
我猜这取决于默认情况下使用的 web3 提供商 MetaMask。结帐为什么 web3.eth.getAccounts() 只返回 1 个帐户?看到一些提供者返回多个帐户的问题,这取决于配置。
推荐阅读
- c# - 类型 Microsoft.AspNetCore.Identity.RoleManager 的 Asp.Net Core 无服务
- php - 每次在 php 中执行时,如何从 phpscript 创建一个具有新名称的新文本文件?
- opencv - opencv cmake 警告含义:CMakeLists.txt:1066 (include)
- swift - 无法在 swift 中将枚举从 Json 转换为字符串
- java - 如何使用变量的值引用变量名
- ios - 我可以从 Swift 扩展中的不同模型初始化 Codable 模型吗?
- python - 私有属性和设置限制
- reactjs - 使用 Moment in React 验证日期
- pyomo - Pyomo - 日志文件的位置
- python - 如何使用随机选择颜色