快速學習-EVM數據存儲
- 2020 年 4 月 11 日
- 筆記
EVM數據存儲
Storage
- 每個賬戶都有一塊持久化的存儲空間,稱為 storage,這是一個將256位字映射到256位字的key-value 存儲區,可以理解為合約的資料庫
- 永久儲存在區塊鏈中,由於會永久保存合約狀態變數,所以讀寫的 gas 開銷也最大
Memory(記憶體)
- 每一次消息調用,合約會臨時獲取一塊乾淨的記憶體空間
- 生命周期僅為整個方法執行期間,函數調用後回收,因為僅保存臨時變數,故讀寫 gas 開銷較 小
Stack(棧)
- EVM 不是基於暫存器的,而是基於棧的,因此所有的計算都在一個被稱為棧(stack)的區域執行
- 存放部分局部值類型變數,幾乎免費使用的記憶體,但有數量限制