未捕获的错误:u处的无效地址(web3.min.js:1)

时间:2018-10-27 21:02:22

标签: node.js blockchain ethereum solidity

我正在编写具有Solidity的简单智能合约,但显示了我无法修复的错误。这是我的代码:

amounts=[(1, 2345), (0, 3345), (2, 1223)]

for x in range(len(amounts)):
    divide_count, amount = amounts[x]
    power_amount = len(str(amount)) - divide_count

    amount = amount / (10.0 ** power_amount)
    print(amount)

Skript:

<div class="container">

    <h1>Information</h1>

    <h2 id="form"></h2>

    <label for="name">Name</label>
    <input id="name" type="text">

    <label for="name">Age</label>
    <input id="age" type="text">

    <button id="button">Update Infomation</button>


</div>

Solidity-Code很简单:

if (typeof web3 !== 'undefined') {
        web3 = new Web3(web3.currentProvider);
    } else {
       web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
    }

    web3.eth.defaultAccount = web3.eth.accounts[0];

    var SmartContract = web3.eth.contract(ABI);

    var ContractAddress= SmartContract.at(Address);

    ContractAddress.getInformation(function(error, result){
       if(!error)
           {
               $("#form").html(result[0]+' ('+result[1]+' years old)');
               console.log(result);
           }
       else
           console.log(error);
   });

   $("#button").click(function() {
       ContractAddress.setInformation($("#name").val(), $("#age").val());
   });

在控制台中显示错误:

  

未捕获的错误:在i.formatInput(web3)上Array.map()处的web3.min.js:1处inputCallFormatter(web3.min.js:1)在u(web3.min.js:1)处的无效地址.minPayload(web3.min.js:1)位于_.e [.call](web3.min.js:1)位于c.call(web3.min.js:1)在index.html:85的c.execute(web3.min.js:1)处

我试图添加类似contract information{ string fName; uint age; function setInformation(string _fName, uint _age) public { fName = _fName; age = _age; } function getInformation() public constant returns (string, uint) { return (fName, age); } } 的内容,但它没有解决问题。

1 个答案:

答案 0 :(得分:0)

您需要提供已部署的智能合约的地址。

在部署智能合约时,您将获得智能合约地址。您需要使用与部署相同的网络。

供参考

https://github.com/praveenkakumanu/Ethereum/blob/master/sample/index.html

如果将web3js作为node_modules运行,则需要使用上述web3@0.18版本