web3 - solidity - 错误的参数数量错误
web3 - solidity - wrong number of arguments error
我有一个 solidity 脚本:
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 肯定也是最新的。怎么会出现这个错误呢,同样是参数量
好吧,解决方法其实很简单。我只是在 $("#mes").val()
中有错误的标签,所以它返回未定义。
我有一个 solidity 脚本:
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 肯定也是最新的。怎么会出现这个错误呢,同样是参数量
好吧,解决方法其实很简单。我只是在 $("#mes").val()
中有错误的标签,所以它返回未定义。