我已经使用remix浏览器编译器在rinkeby testnet中成功编译并发布了我的合同。现在我正在努力调用我的合同函数,要么是因为我的代码错了,要么是因为它发布在rinkeby上?
有人可以提供一个例子,说明如何使用javascript和/或直接从remix编译器调用此函数:
function balanceOfTestCoin() returns (uint amount){
for (uint i = 0; i < funders.length; i++){
if(funders[i].addr == msg.sender){
return funders[i].amountTestCoin;
}
}
return 0;
}
现在我正在尝试这种方式:
<script>
if (typeof web3 !== 'undefined') {
window.web3 = new Web3(web3.currentProvider);
} else {
console.log('No web3? You should consider trying MetaMask!')
}
web3.eth.defaultAccount = web3.eth.accounts[0];
var abi = [{...}];
var MyContract = web3.eth.contract(abi);
var myContractInstance = MyContract.at('0x....');
console.log(myContractInstance);
myContractInstance.balanceOfTestCoin(function(amount){ alert(amount) });
//This doesnt work aswell:
alert("My TestCoins: " + myContractInstance.balanceOfTestCoin());
</script>
我在尝试调用该函数的行上收到无效地址错误。我非常感谢任何帮助。