Home | 簡體中文 | 繁體中文 | 雜文 | 知乎專欄 | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 視頻教程 | 打賞(Donations) | About
知乎專欄多維度架構 | 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者”

14.5. 單位

14.5.1. 貨幣單位(Ether Units)



kwei (1000 Wei)
mwei (1000 KWei)
gwei (1000 mwei)
szabo (1000 gwei)
finney (1000 szabo)
ether (1000 finney)

以太幣單位其實是密碼學家的名字,是以太坊創始人為了紀念他們在數字貨幣的領域的貢獻。他們分別是:
wei: Wei Dai 戴偉 密碼學家 ,發表 B-money
finney: Hal Finney 芬尼 密碼學家、工作量證明機制(POW)提出
szabo: Nick Szabo 尼克薩博 密碼學家、智能合約的提出者

			
pragma solidity ^0.4.25;
//Author: netkiller <netkiller@msn.com>
//Home: http://www.netkiller.cn
contract UnitTest {
    function tf() public pure returns (bool) {
      if (1 ether == 1000 finney){
          return true;
      }
      return false;
    }
    
    function ts() public pure returns (bool) {
      if (1 ether == 1000000 szabo){
          return true;
      }
      return false;
    }
    
    function tgw() public pure returns (bool) {
      if (1 ether == 1000000000000000000 wei){
          return true;
      }
      return false;
    }
}			
			
			

14.5.2. 時間單位(Time Units)

時間單位: seconds, minutes, hours, days, weeks, years均可做為尾碼,併進行相互轉換,規則如下:



1 == 1 seconds (預設是seconds為單位)
1 minutes == 60 seconds
1 hours == 60 minutes
1 days == 24 hours
1 weeks = 7 days
1 years = 365 days

由於無法預測閏秒,必須由外部的預言(oracle)來更新從而得到一個精確的日曆庫。
所以使用這些單位進行日期計算需要特別小心,因為不是每年都是365天,且並不是每天都有24小時,因為還有閏秒。