web3 - 可靠性 - 错误的参数数量错误

时间:2018-05-14 21:56:16

标签: javascript solidity web3js

我有一个可靠的脚本:

pragma solidity ^0.4.18;

contract EthProj {

    string fName;
    string age;

    event Message(string name, string age);

    function setMessage(string _fName, string _age) public {
        fName = _fName;
        age = _age;

        emit Message(_fName, _age);
    }

    function getName() public constant returns (string) {
        return (fName);
    }

    function getMessage() public constant returns (string) {
        return (age);
    }
}

这是我的ABI https://pastebin.com/QLBntb59 我在我的JS脚本中设置合同:

var Web3 = require('web3'); 
    var web3 = new Web3();
    web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));
    var address = new String();

    var EthProjContract = web3.eth.contract(my abi);
    var EthProj = EthProjContract.at('0x1D056b1e9764D3C79ca55B68049FC906373044d8');

我正在使用我的功能: EthProj.setMessage($("#mes").val(), $("#name").val()); 我使用两个参数调用此函数,该函数有两个参数。我试过重新上传我的合同,以确保它是最新的合同,它肯定是。我的ABI肯定也是最新的。怎么会有这个错误,它是相同数量的参数。

1 个答案:

答案 0 :(得分:0)

嗯,解决方案实际上非常简单。我只是在$("#mes").val()中有错误的标签,所以它返回未定义。