您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Solidity以太單位及時(shí)間單位是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Solidity以太單位及時(shí)間單位是什么”吧!
一個(gè)數(shù)字常量(字面量)后面跟隨一個(gè)后綴wei, finney,szabo或ether,這個(gè)后綴就是貨幣單位。不同的單位可以轉(zhuǎn)換。不含任何后綴的默認(rèn)單位是wei。 不同的以太幣單位轉(zhuǎn)換關(guān)系如下:
1 ether == 10^3 finney == 1000 finney
1 ether == 10^6 szabo
1 ether == 10^18 wei
插曲:以太幣單位其實(shí)是密碼學(xué)家的名字,是以太坊創(chuàng)始人為了紀(jì)念他們?cè)跀?shù)字貨幣的領(lǐng)域的貢獻(xiàn)。他們分別是: wei: Wei Dai 戴偉 密碼學(xué)家 ,發(fā)表 B-money finney: Hal Finney 芬尼 密碼學(xué)家、工作量證明機(jī)制(POW)提出 szabo: Nick Szabo 尼克薩博 密碼學(xué)家、智能合約的提出者
我們可以使用一下代碼驗(yàn)證一個(gè)轉(zhuǎn)換關(guān)系:
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; } }
時(shí)間單位: seconds, minutes, hours, days, weeks, years均可做為后綴,并進(jìn)行相互轉(zhuǎn)換,規(guī)則如下:
1 == 1 seconds (默認(rèn)是seconds為單位)
1 minutes == 60 seconds
1 hours == 60 minutes
1 days == 24 hours
1 weeks = 7 days
1 years = 365 days
使用這些單位進(jìn)行日期計(jì)算需要特別小心,因?yàn)椴皇敲磕甓际?65天,且并不是每天都有24小時(shí),因?yàn)檫€有閏秒。由于無法預(yù)測(cè)閏秒,必須由外部的預(yù)言(oracle)來更新從而得到一個(gè)精確的日歷庫。
這些后綴不能用于變量。如果想對(duì)輸入的變量說明其不同的單位,可以使用下面的方式:
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) { // ... } } }
到此,相信大家對(duì)“Solidity以太單位及時(shí)間單位是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。