合约里有以下语句:
require(msg.value % 2 == 0, “Even value required.”);
当 msg.value 不满足条件时,都在什么地方可以看到 “Even value required.” 信息?
是否可以添加到 Receipt 的 errorMessage 字段?
在什么情况下可以看到合约里Require语句抛出的异常?
这个是在 evm 里面的 call 的 返回值里面,通过 Receipt 目前 CITA 是拿不到这个错误信息的。
不过可以考虑。
目前有两种方法:
- 通过 CITA 的日志
- 把错误信息记录在 event 里面返回,这个可以参考 https://github.com/cryptape/cita/blob/develop/scripts/contracts/src/common/Error.sol