5

Is there any reason why ethereum.enable() would not open the metamask console?
It was working briefly and now I cannot get any response from it.

0TTT0
  • 672
  • 2
  • 10
  • 20

4 Answers4

5

Let's try! I'm using web3 v1.0.0-beta.55

let ethereum = window.ethereum;
let web3 = window.web3;
if (typeof ethereum !== 'undefined') {
 await ethereum.enable();
 web3 = new Web3(ethereum);
} else if (typeof web3 !== 'undefined') {
 web3 = new Web3(web3.currentProvider);
} else {
 web3 = new Web3(new Web3.providers.HttpProvider(process.env.WEB3_PROVIDER));
}
Bach Duong
  • 93
  • 1
  • 6
1

I am having the same issue. And when I stay at "web3": "0.20.5" it works but with the latest it doesn't, i.e. 1.0.0-beta.46 or 1.0.0-beta.51.

Can you share a code snippet? And have you seen this post and implemented the changes?: https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8.

window.addEventListener('load', async () => {
    // Modern dapp browsers...
    if (window.ethereum) {
        window.web3 = new Web3(ethereum);
        try {
            // Request account access if needed
            await ethereum.enable();
            // Acccounts now exposed
            web3.eth.sendTransaction({/* ... */});
        } catch (error) {
            // User denied account access...
        }
    }
    // Legacy dapp browsers...
    else if (window.web3) {
        window.web3 = new Web3(web3.currentProvider);
        // Acccounts always exposed
        web3.eth.sendTransaction({/* ... */});
    }
    // Non-dapp browsers...
    else {
        console.log('Non-Ethereum browser detected. You should consider trying MetaMask!');
    }
});
0

I just needed to reload Metamask and everything started functioning as expected.

0TTT0
  • 672
  • 2
  • 10
  • 20
0

It's happening to me after you logout from MetaMask. For now, the only way to reactivate ethereum.enable is to close Chrome, and launch it once again.