我在Remix IDE中编写了以下函数,该函数在IDE中创建合同时有效,但是当我尝试使用testRPC和web3提供程序连接的HTML代码中调用它时,我收到了一个气体错误。
function addPig(uint _idNum, uint _age, uint _weight) public returns (string) {
var newPig = Pig(_idNum, _age, _weight, owner, 0);
//If the pig is already stored
if(pigs[_idNum].idNum != 0x0) {
return("This pig already exists");
} else {
//Store the new pig and increment number of pigs
pigs[_idNum] = newPig;
pigsArray.push(newPig);
farmPigs++;
}
Details(_idNum, _age, _weight);
}
以下是HTML代码,它尝试使用从3个输入字段中检索的值来调用函数:
$("#addButton").click(function() {
console.log($("#idNum").val(), $("#age").val(), $("#weight").val());
var pigID = $("#idNum").val();
var pigAge = $("#age").val();
var pigWeight = $("#weight").val();
Pig.addPig(pigID, pigAge, pigWeight);
});
输入到控制台是正确的,如果输入例如3,3,3,所以我不确定为什么这个输入不能用于solidity函数,任何帮助都表示赞赏。