2020更新
更新下帖子... 之前刚学碰到的问题, 现总接下
只要出现类似的错误(括号中的数字可能不一样), 就表示该笔交易无法成功, 强制发送出去也是失败的;
如果是自己开发的合约,在require(xx,"tips"),不满足xx的条件就会提示 tips;
两种情况
在remix中,发交易,是会提示上面写的tips,
如果是dapp web端,可以将交易发送出去,然后在区块浏览器中可以看到自己定义的tips (注意:tips需要英文!,以太坊会显示,波场不显示...)
下面中的estimateGas的情况是因为条件不足,from不填,读取不到eth金额,也就无法转账。
对于开发合约碰到这类问题,一般都是require不满足,或者是其他条件不满足,
比如:转币的时候,实际没有代币, 或者输入金额过大,执行减法报错了等
在使用estimateGas计算gas的时候报错,
Node error: {"code":-32000,"message":"gas required exceeds allowance (6989519) or always failing transaction"}
开始都是参考官网的例子
var result = web3.eth.estimateGas({
to: "0xc4abd0339eb8d57087278718986382264244252f",
data: "0xc6888fa10000000000000000000000000000000000000000000000000000000000000003"
});
console.log(result); // "0x0000000000000000000000000000000000000000000000000000000000000015"
没发现问题。
但是在批量转eth的时候,计算出来的gas不足。
需要把上面的参数中,添加from,和value(批量的总额),缺少from会出现上面那个报错信息,缺少value会计算不准确。
有点搞不懂这api, 明明官方的问题提示,都是可选值,但是却报错.. 也没提示在哪种情况下,分别需要什么参