[英]Is assert in privation function redundant if check has already been made by the calling public function?
[英]Can Ethereum transaction (calling contract function) fail for reasons other than assert()/require()/revert() or gas issues?
当运行一个不需要gas进行交易的私有以太坊网络时,除了显式调用assert()/require()/revert()之外,合约函数交易是否会因一些“不可预测”的问题而失败,例如除以0或其他一些EVM 或 EVM 以外的问题?
被零除
Solidity 0.8+ 中的整数溢出/下溢(以前的版本让数字溢出,0.8 抛出异常)
访问越界数组索引
对未实现被调用函数的地址的消息调用(又名内部事务)(可能是自毁或更改了代理后面的实现)
这些我现在能想到的。 我敢肯定还有更多示例,通常是由某些逻辑错误引起的运行时错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.