web3 - солидность - неверное количество аргументов ошибка
У меня есть сценарий солидности:
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 ответ
Решение
Ну, решение было на самом деле довольно простым. У меня просто был неправильный тег внутри $("#mes").val()
так что возвращалось неопределенное.