Как определить вход в MetaMask

Как мы можем определить, когда пользователь входит в MetaMask после загрузки страницы? Обязательно ли прибегать к опросу или есть событие, которое может прослушивать страница?


person Danyal Aytekin    schedule 08.11.2017    source источник
comment
Вы должны иметь возможность получить некоторое представление о коде на github.com/ethereum/remix.   -  person Ayushya    schedule 08.11.2017


Ответы (2)


С 2020 года сайт web3 должен запрашивать доступ к учетной записи через ethereum.request({ method: 'eth_requestAccounts' }), а затем отслеживать изменения в учетных записях через событие accountsChanged.

Дополнительные сведения см. В документации MetaMask.

person DanF    schedule 11.11.2017
comment
Спасибо, Дэн, я пошел с опросом. Не идеально, но работает хорошо. - person Danyal Aytekin; 13.11.2017

Используя web3 версии 1.0.0, провайдер метамасков предоставляет событие «update», которое вы можете прослушивать в его publicConfigStore.

web3.currentProvider.publicConfigStore.on('update', callback);

Ваш обратный вызов будет передан объекту с selectedAddress и networkVersion при изменении этих атрибутов.

person Brian Ethier    schedule 21.05.2018
comment
Больше там нет publicConfigStore. - person Anton Pegov; 24.09.2018