Gas

EVM 在計算 gas 成本時如何跟踪它執行的操作?

  • January 8, 2022

EVM 在計算 tx 的 gas 成本時如何跟踪它執行的操作?

例如,當一個詞被壓入堆棧時——solidity 程式碼中沒有明確說明將一個詞壓入堆棧。我假設有一些底層的、較低級別的程式碼有一個“推送到堆棧”的標註,它會觸發氣體計數器添加氣體或其他東西。

它是否正確?誰能指出我可以找到更多資訊的方向?

提前致謝。

乙太坊虛擬機執行存在於乙太坊區塊鏈上的字節碼。每個字節碼都有一個特定的 gas 價格,該價格在共識規範中定義,可以在乙太坊黃皮書(第 27 頁)中查找。

當您編寫 Solidity 程式碼時solc(Solidity 編譯器)會將此程式碼轉換為中間語言YUL,然後再將其轉換為 evm 字節碼。

注意:由於 gas 成本不斷變化,並且黃皮書並不總是立即更新,因此查看 evm 實施以了解最新的 gas 成本可能是有意義的。例如ethereumjs-vm

引用自:https://ethereum.stackexchange.com/questions/118363