truffle框架里面js调取合约,直接赋值计算出来的值结果不对。
solidity 合约部分
pragma solidity ^0.4.17;
contract Calc{
function add(uint _a,uint _b) public pure returns (uint){
return (_a + _b);
}
}
js 部分代码部分
Calc.deployed().then(function(instance) {
calc = instance;
return calc.add.call(1,89,{from: account});
}).then(function(value) {
console.log("成功了");
console.log(value);
console.log("add result=" + value.valueOf());
}).catch(function(e) {
console.log(e);
self.setStatus("Error calc add; see log.");
});
按照逻辑应该计算出来的结果应该是90,可计算出来的结果却是 180 ?这是为何?
我后来改成了直接从input控件获取值,
var amount = parseInt(document.getElementById("amount").value);
Calc.deployed().then(function(instance) {
calc = instance;
return calc.add.call(amount,amount,{from: account});
}).then(function(value) {
console.log("成功了");
console.log(value);
console.log("add result=" + value.valueOf());
}).catch(function(e) {
console.log(e);
self.setStatus("Error calc add; see log.");
});
这样计算出来的值就正常了。
这是为啥?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论