web3.js не возвращает все учетные записи

Я пытаюсь собрать простое приложение, используя Truffle, Metamask и ASP.NET.

Я создал несколько тестовых учетных записей в Metamask, затем я запускаю testrpc, явно указав пару этих учетных записей и их начальный баланс, например:

testrpc --account="0xa3........18, 1000000000000000000000" --account="0x80.......08, 1000000000000000000000"

В журнале testrpc я вижу, что они запускаются правильно:

Available Accounts
==================
(0) 0x27.....d5
(1) 0x1b.....24

Затем я развертываю свой контракт, вхожу в Metamask, а затем запускаю свое веб-приложение.

В моем js я вижу, что он извлекает экземпляр web3 из метамаски:

            if (typeof web3 !== 'undefined') { // This evaluates to true
                App.web3Provider = web3.currentProvider;
                web3 = new Web3(web3.currentProvider);
                console.log("Already have a web3 instance");
            } else {

Я пытаюсь получить список учетных записей следующим образом:

            App.contracts.JmTest.deployed().then(function(instance) {

                web3.eth.getAccounts(function (error, accounts) {
                    if (error) {
                        console.log(error);
                    }

                    console.dir(accounts);

Однако он показывает только одну из двух учетных записей, с которой я запустил testrpc...

Array(1)
0: "0x27.....d5"

Получается, что это текущий выбранный аккаунт в Metamask. Если я запускаю testrpc без указания каких-либо учетных записей и перезапускаю Chrome, происходит то же самое - снова я получаю только текущую выбранную учетную запись в Metamask.

Что мне не хватает?

Ответы (1)

Итак, похоже, что это случай RTFM....

Когда пользователь выбирает учетную запись в MetaMask, эта учетная запись автоматически становится web3.eth.accounts[0] в вашем контексте JS, единственным членом массива web3.eth.accounts .

Значит, мы не можем перебрать все тестовые аккаунты в метамаске? например, когда мы используем web3.eth.accounts, он молча принимает учетные записи[0].