У меня есть сценарий солидности:
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 определенно тоже актуален.Как может быть эта ошибка, было столько же аргументов.