I'm trying to use MetaMask and web3js to talk to my smart contract. Below are my test codes.
This is without defining a web3 js file and I get the result "0.20.3" at console.
<script>
window.addEventListener("load", function() {
// Checking if Web3 has been injected by the browser (Mist/MetaMask)
if (typeof web3 !== "undefined") {
// Use Mist/MetaMask's provider
web3 = new Web3(web3.currentProvider);
var version = web3.version.api;
console.log(version);
} else {
console.log("No web3? You should consider trying MetaMask!");
// fallback - use your fallback strategy (local node / hosted node + in-dapp id mgmt / fail)
window.web3 = new Web3(
new Web3.providers.HttpProvider("https://localhost:8545")
);
});
</script>
And this is with defining a web3 1.0 beta-34 file. But I get "undefined" at console.
<script src="https://cdn.jsdelivr.net/gh/ethereum/[email protected]/dist/web3.min.js"></script>
<script>
window.addEventListener('load', function() {
// Check if Web3 has been injected by the browser:
if (typeof web3 !== 'undefined') {
// You have a web3 browser! Continue below!
web3 = new Web3(web3.currentProvider);
var version = web3.version.api;
console.log(version); // "0.2.0"
startApp(web3);
} else {
alert("No hay web3");
// Warn the user that they need to get a web3 browser
// Or install MetaMask, maybe with a nice graphic.
}
});
</script>