web3 - солидность - неверное количество аргументов ошибка - PullRequest
0 голосов
/ 15 мая 2018

У меня есть сценарий солидности:

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');

Я использую свою функцию какthis: EthProj.setMessage($("#mes").val(), $("#name").val()); Я вызываю эту функцию, используя два аргумента, и функция принимает два аргумента.Я попытался повторно загрузить свой контракт, чтобы убедиться, что он самый последний, и это определенно так.Мой ABI определенно тоже актуален.Как может быть эта ошибка, было столько же аргументов.

1 Ответ

0 голосов
/ 17 мая 2018

Ну, решение было на самом деле довольно простым.У меня просто был неправильный тег внутри $("#mes").val(), поэтому он возвращал undefined.

...