簡體   English   中英

以太坊交易(調用合約函數)是否會因 assert()/require()/revert() 或 gas 問題以外的原因而失敗?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM