调用可靠性合同函数

时间:2018-04-08 09:10:11

标签: javascript blockchain ethereum solidity web3

我已经使用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>

我在尝试调用该函数的行上收到无效地址错误。我非常感谢任何帮助。

0 个答案:

没有答案