Я разрабатываю dapp, используя трюфель / ganache / metamask / vue. Все шло хорошо, пока я не обновил Google Chrome и расширение Metamask. Теперь я не могу войти в аккаунт в метамаске.
Я уже пытаюсь вызвать getAccounts () с помощью async / await, обещаний и т. Д. Ничего не работает, хотя я вошел в метамаску и могу посмотреть свой баланс, перенести eth на другой аккаунт ... Также любопытно, что web3 обычно вводится в браузере.
Это в main.js
window.addEventListener('load', function () {
if (typeof web3 !== 'undefined') {
console.log('Web3 injected browser: OK.')
Web3.providers.HttpProvider.prototype.sendAsync = Web3.providers.HttpProvider.prototype.send;
window.web3 = new Web3(window.web3.currentProvider)
} else {
console.log('Web3 injected browser: Fail. You should consider trying MetaMask.')
// fallback - use your fallback strategy (local node / hosted node + in-dapp id mgmt / fail)
Web3.providers.HttpProvider.prototype.sendAsync = Web3.providers.HttpProvider.prototype.send;
window.web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'))
}
Это в компоненте Vue
window.web3.eth.getAccounts((err, res) => {
if (err){
console.log("error")
console.log(err)
}
console.log(res[0]);
});
Я ожидал, что в журнале консоли будет напечатан адрес моего кошелька, а не "undefined". Массив web3.eth.accounts теперь всегда пуст.
Я что-то не так делаю?
Заранее спасибо.