Deployed a contract using Remix IDE to Rinkeby testnet.
Etherscan contract address and code is here.
contract SimpleCounter {
int counter;
constructor() public {
counter = 0;
}
function getCounter() public view returns (int){
return counter;
}
function increment() public {
counter += 1;
}
function decrement() public {
counter -= 1;
}
}
JavaScript client code:
var contract;
$(document).ready(function(){
initContract();
getCounterValue();
})
function initContract(){
web3 = new Web3(web3.currentProvider);
var address = "0xc6482382047fb50e8e7b4658425c9756b28f995c";
var abi = [
...
];
console.log('Create contract...');
contract = new web3.eth.Contract(abi, address);
console.log(contract)
} //initContract()
function getCounterValue(){
console.log('getCounter()...');
contract.methods.getCounter().call().then((result) => {
console.log(result);
}).catch(function(err){
console.log('err...\n'+err);
});
}
Error:
Create contract...
(index):86 o {_requestManager: e, givenProvider: MetamaskInpageProvider, providers: {…}, _provider: MetamaskInpageProvider, …}
(index):94 getCounter()...
(index):99 err...
Error: Returned values aren't valid, did it run Out of Gas?
NOTE:
This works fine in Remix IDE (chrome). I'm able to increment/decrement/getCounter... with compiler version:0.4.25+commit.59dbf8f1.Emscripten.clang .
Why does it fail, when accessing it using 'dist/web3.min.js' of Web3.js (Branch 1.0)?
.jsonwouldn't fix that. You might want to add 'exact problem' along with error - to differentiate 'your scenario' and related fix, for clarity. – RafiAlhamd Feb 06 '19 at 15:33