首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提供程序在部署契约时设置多个帐户地址

提供程序在部署契约时设置多个帐户地址
EN

Ethereum用户
提问于 2019-11-14 00:44:35
回答 1查看 877关注 0票数 0

我使用的是部署契约hdwallet,但我在客户端有问题,要使用web3.eth.getAccounts()调用获得多个帐户。

我知道这就像重复的问题和松露已经有解决办法,但我有问题得到多个帐户地址。

在元问题上,我有三个帐户,但只有默认的帐户显示在客户端。从第一个片段中可以看到,我将3设置为第四个参数

部署代码

代码语言:javascript
复制
const provider = new HDWalletProvider(
  'mnemonic....',
  'https://rinkeby.infura.io/v3/bba91a6c349c44afbde264a1bda1af75', 0, 3
);

如何在客户端代码中导入web3

代码语言:javascript
复制
import Web3 from 'web3';

if (window.ethereum) {
  window.web3 = new Web3(window.ethereum);

  (async () => {
    await window.ethereum.enable();
  })();
}
// Legacy dapp browsers...
else if (window.web3) {
  window.web3 = new Web3(window.web3.currentProvider);
}
// Non-dapp browsers...
else {
  console.log('Non-Ethereum browser detected. You should consider trying MetaMask!');
}

export default window.web3;

客户端代码

代码语言:javascript
复制
web3.eth.getAccounts().then(console.log);

BR,Igor

EN

回答 1

Ethereum用户

发布于 2019-11-14 08:03:25

这是预期的行为,您将得到唯一的帐户选择在元。这是出于隐私原因。

Metamsk甚至不公开一个默认帐户,Dapps需要通过调用ethereum.enable()向帐户发送访问请求。一旦用户批准了访问请求,Dapp将获得对所选元问题帐户的访问权。

您可以在博客文章中阅读更多有关信息。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/77474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档