您好,登錄后才能下訂單哦!
本篇內容主要講解“Solidity以太單位及時間單位是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Solidity以太單位及時間單位是什么”吧!
一個數字常量(字面量)后面跟隨一個后綴wei, finney,szabo或ether,這個后綴就是貨幣單位。不同的單位可以轉換。不含任何后綴的默認單位是wei。 不同的以太幣單位轉換關系如下:
1 ether == 10^3 finney == 1000 finney
1 ether == 10^6 szabo
1 ether == 10^18 wei
插曲:以太幣單位其實是密碼學家的名字,是以太坊創始人為了紀念他們在數字貨幣的領域的貢獻。他們分別是: wei: Wei Dai 戴偉 密碼學家 ,發表 B-money finney: Hal Finney 芬尼 密碼學家、工作量證明機制(POW)提出 szabo: Nick Szabo 尼克薩博 密碼學家、智能合約的提出者
我們可以使用一下代碼驗證一個轉換關系:
pragma solidity ^0.4.16; contract testUnit { 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; } }
時間單位: 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
使用這些單位進行日期計算需要特別小心,因為不是每年都是365天,且并不是每天都有24小時,因為還有閏秒。由于無法預測閏秒,必須由外部的預言(oracle)來更新從而得到一個精確的日歷庫。
這些后綴不能用于變量。如果想對輸入的變量說明其不同的單位,可以使用下面的方式:
pragma solidity ^0.4.16; contract testTUnit { function currTimeInSeconds() public pure returns (uint256){ return now; } function f(uint start, uint daysAfter) public { if (now >= start + daysAfter * 1 days) { // ... } } }
到此,相信大家對“Solidity以太單位及時間單位是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。