No tutorial can help me, I have watched almost every major tutorial on Youtube and read a ton of results from Google…
I have on my HTML file imported the web3.min.js (copied from Truffle pet-shop because web3 does not come with this anymore!)
And then on a script tag below that, for testing, I manage to connect it with Metamask, I thin, with
window.addEventListener('load', () => {
if (typeof Web3 !== 'undefined') {
web3js = new Web3(Web3.currentProvider);
} else {
console.log('No web3? You should consider trying MetaMask!');
web3js = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));
}
});
But still Web3.eth
is undefined, so I can't connect to a contract or make calls.
Can anyone help me with the basic steps to interact with the contract from a front end?…
Best Answer
The Metamask interface has changed to enable privacy and consent from the user before allowing any access to the account information contained within Metamask. This is done by injecting an "ethereum" object to the browser window. You must now wait for the ethereum.enable() function to return true after prompting the user. More details here: https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8