3.9 solidity變數詳解

尹成發表於2018-11-08

變數(資料位置) 

  1. 資料位置即變數的儲存位置屬性,共有三類 
    1. Memory:儲存在記憶體中
    2. storage:storage儲存位置修飾的變數的資料永遠儲存在區塊鏈上
    3. Calldata:該資料位置是隻讀的,不會持久化到區塊鏈上,一般只有外部函式會被指定
  2. 函式的引數、返回值預設資料位置是memory,函式區域性變數的預設資料位置是storage。狀態變數預設位置是storage
  3. 資料位置轉換 
    1. Memory->memory 
      1. 引用傳遞,不拷貝資料
    2. Memory->storage 
      1. memory賦值給狀態變數,實際是將記憶體變數拷貝到儲存中
      2. memory賦值給區域性變數,會產生一個錯誤
    3. Storage->storage 
      1. 修改指標指向
    4. Storage->memory 
      1. 將資料從storage拷貝到memory
    5. 貨幣與時間單位 
      1. 貨幣

      2. 單位 wei值 Wei 
        wei 1 1 wei 
        Kwei (babbage) 1e3 wei 1,000 
        Mwei (lovelace) 1e6 wei 1,000,000 
        Gwei (shannon) 1e9 wei 1,000,000,000 
        microether (szabo) 1e12 wei 1,000,000,000,000 
        milliether (finney) 1e15 wei 1,000,000,000,000,000 
        ether 1e18 wei 1,000,000,000,000,000,000
      3. 時間 
        1. 單位:seconds,minutes,hours,days,weeks,years
        2. 規則 
          1. 1 == 1seconds
          2. 1 minutes == 60 seconds
          3. 1 hours == 50 minutes
          4. 1 days == 24 hours
          5. 1 weeks == 7 days
          6. 1 years == 365 days

 

相關文章