Evm
執行環境變數 Iw 和 Ie
根據黃皮書,其中一個執行環境變數是:
Iw,對狀態進行修改的許可。
我找不到有關它的更多資訊,例如它是如何設置的以及它可以獲得什麼值(我猜是 1 或 0)
另外我想確保變數
即,目前消息呼叫或合約創建的深度(即目前正在執行的 CALL 或 CREATE 的數量)。
僅對每個 CALL 和 CREATE 操作碼減一,但絕不會為 DELEGATECALL 或 CALLCODE
我的回答是基於目前版本的黃皮書。
I_w
Iw,對狀態進行修改的許可
關於異常停止的段落解釋了這個標誌的重要性:
僅考慮最後一個條件,它表示如果修改權限為假並且目前指令是由指定的
W
(即可能改變狀態的指令),那麼我們有一個例外。為了完整起見,我還報告了功能W
:I_w 通常設置為
T
(true),並且F
僅在執行 STATICCALL 時設置為。僅對每個 CALL 和 CREATE 操作碼減一,但絕不會為 DELEGATECALL 或 CALLCODE
這是錯誤的。此外,DELEGATECALL 和 CALLCODE 遞增和遞減呼叫堆棧(在黃皮書中指定)。