EVM資料存儲
Storage
- 每個賬戶都有一塊持久化的存儲空間,稱為 storage,這是一個将256位字映射到256位字的key-value 存儲區,可以了解為合約的資料庫
- 永久儲存在區塊鍊中,由于會永久儲存合約狀态變量,是以讀寫的 gas 開銷也最大
Memory(記憶體)
- 每一次消息調用,合約會臨時擷取一塊幹淨的記憶體空間
- 生命周期僅為整個方法執行期間,函數調用後回收,因為僅儲存臨時變量,故讀寫 gas 開銷較 小
Stack(棧)
- EVM 不是基于寄存器的,而是基于棧的,是以所有的計算都在一個被稱為棧(stack)的區域執行
- 存放部分局部值類型變量,幾乎免費使用的記憶體,但有數量限制