快速學習-EVM數據存儲

  • 2020 年 4 月 11 日
  • 筆記

EVM數據存儲

Storage

  • 每個賬戶都有一塊持久化的存儲空間,稱為 storage,這是一個將256位字映射到256位字的key-value 存儲區,可以理解為合約的資料庫
  • 永久儲存在區塊鏈中,由於會永久保存合約狀態變數,所以讀寫的 gas 開銷也最大

Memory(記憶體)

  • 每一次消息調用,合約會臨時獲取一塊乾淨的記憶體空間
  • 生命周期僅為整個方法執行期間,函數調用後回收,因為僅保存臨時變數,故讀寫 gas 開銷較 小

Stack(棧)

  • EVM 不是基於暫存器的,而是基於棧的,因此所有的計算都在一個被稱為棧(stack)的區域執行
  • 存放部分局部值類型變數,幾乎免費使用的記憶體,但有數量限制