一、目錄
☛ 貨幣單位
☛ 時間單位
☛ 特殊的變量及函數
二、貨幣單位
一個常量的數字,可以使用後綴wei,finney,szabo或ether來在不同面額中轉換。如2 ether == 2000 finney的結果是true。
▪ 1 ether==10^3 finney
▪ 1 ether==10^6 szabo
▪ 1 ether==10^18 wei
注意:不含任何後綴的默認單位是wei。
三、時間單位
seconds,minutes,hours,days,weeks,years均可做爲後綴,並進行相互轉換。
▪ 1 == 1 seconds
▪ 1 minutes == 60 seconds
▪ 1 hours == 60 minutes
▪ 1 days == 24 hours
▪ 1 weeks = 7 days
▪ 1 years = 365 days
注意:
▪ 不含任何後綴的默認單位是seconds
▪ 如果你需要進行使用這些單位進行日期計算,需要特別小心,因爲不是每年都是365天,且並不是每天都有24小時,因爲還有閏秒。
範例:後綴不能用於變量。如果你想對輸入的變量說明其不同的單位,可以使用下面的方式。
四、特殊的變量及函數
有一些變量和函數存在於全局上下文中。主要用來提供一些區塊鏈當前的信息區塊和交易的屬性。
▪ block.blockhash(uint blockNumber) returns (bytes32),給定區塊號的哈希值,只支持最近256個區塊,且不包含當前區塊;
▪ block.coinbase (address) 當前塊礦工的地址;
▪ block.difficulty (uint)當前塊的難度;
▪ block.gaslimit (uint)當前塊的gaslimit;
▪ block.number (uint)當前區塊的塊號;
▪ block.timestamp (uint)當前塊的時間戳;
▪ msg.data (bytes)完整的調用數據(calldata)
▪ msg.gas (uint)當前還剩的gas;
▪ msg.sender (address)當前調用發起人的地址;
▪ msg.sig (bytes4)調用數據的前四個字節(函數標識符);
▪ msg.value (uint)這個消息所附帶的貨幣量,單位爲wei;
▪ now (uint)當前塊的時間戳,等同於block.timestamp;
▪ tx.gasprice (uint) 交易的gas價格;
▪ tx.origin (address)交易的發送者(完整的調用鏈)。
4.1 區塊鏈交易熟悉說明
▪ 對於同一個鏈上連續的區塊來說,當前區塊時間戳總是大於上一個區塊的時間戳。
▪ 只能查最近256個塊,所有其它的將返回0。
五、合約相關
▪ selfdestruct(addressrecipt):銷燬當前合約,並把它所有資金髮送到給定的地址。
▪ suicide(address recipient):同selfdestruct。
-END-