摘要:如果想對(duì)輸入的變量說明其不同的單位,可以使用下面的方式參考視頻我們也推出了目前市面上最全的視頻教程深入詳解以太坊智能合約語言目前我們也在招募體驗(yàn)師,可以點(diǎn)擊鏈接了解。
本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)
原文鏈接:智能合約語言 Solidity 教程系列7 - 以太單位及時(shí)間單位原文已更新,請(qǐng)讀者前往原文閱讀
這是Solidity教程系列文章第7篇介紹以太單位及時(shí)間單位,系列帶你全面深入理解Solidity語言。
Solidity 系列完整的文章列表請(qǐng)查看分類-Solidity。
Solidity 是以太坊智能合約編程語言,閱讀本文前,你應(yīng)該對(duì)以太坊、智能合約有所了解,
如果你還不了解,建議你先看以太坊是什么
歡迎訂閱區(qū)塊鏈技術(shù)專欄閱讀更全面的分析文章。
貨幣單位(Ether Units)一個(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í)間單位(Time Units)
時(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ù)測閏秒,必須由外部的預(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) { // ... } } }參考視頻
我們也推出了目前市面上最全的視頻教程:深入詳解以太坊智能合約語言Solidity
目前我們也在招募體驗(yàn)師,可以點(diǎn)擊鏈接了解。
units
? 深入淺出區(qū)塊鏈 - 系統(tǒng)學(xué)習(xí)區(qū)塊鏈,打造最好的區(qū)塊鏈技術(shù)博客。
? 我的知識(shí)星球為各位解答區(qū)塊鏈技術(shù)問題,歡迎加入討論。
? 關(guān)注公眾號(hào)“深入淺出區(qū)塊鏈技術(shù)”第一時(shí)間獲取區(qū)塊鏈技術(shù)信息。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/24087.html
摘要:引言給迷失在如何學(xué)習(xí)區(qū)塊鏈技術(shù)的同學(xué)一個(gè)指引,區(qū)塊鏈技術(shù)是隨比特幣誕生,因此要搞明白區(qū)塊鏈技術(shù),應(yīng)該先了解下比特幣。但區(qū)塊鏈技術(shù)不單應(yīng)用于比特幣,還有非常多的現(xiàn)實(shí)應(yīng)用場景,想做區(qū)塊鏈應(yīng)用開發(fā),可進(jìn)一步閱讀以太坊系列。 本文始發(fā)于深入淺出區(qū)塊鏈社區(qū), 原文:區(qū)塊鏈技術(shù)學(xué)習(xí)指引 原文已更新,請(qǐng)讀者前往原文閱讀 本章的文章越來越多,本文是一個(gè)索引帖,方便找到自己感興趣的文章,你也可以使用左側(cè)...
摘要:地址類型的成員屬性及函數(shù)這里是地址類型相關(guān)成員的快速索引用來查詢賬戶余額,用來發(fā)送以太幣以為單位。因此,為了保證安全,必須檢查的返回值,如果交易失敗,會(huì)回退以太幣。 本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接:智能合約語言 Solidity 教程系列2 - 地址類型介紹原文已更新,請(qǐng)讀者前往原文閱讀 Solidity教程系列第二篇 - Solidity地址類型介紹. Solidity 系列完...
摘要:舍去小數(shù)位在以太坊中賬戶有兩種類型普通賬戶和智能合約賬戶。報(bào)酬是小額的以太幣,想要運(yùn)行智能合約的人的需要支付報(bào)酬來使合約工作。涉及到以太坊智能合約的攻擊的問題。 智能合約可以簡單的理解為一段可執(zhí)行的程序片段,具體的代碼經(jīng)過 Solidity 編寫之后,發(fā)布到區(qū)塊鏈上。而以太坊的智能合約也可以理解為一個(gè)特殊的交易(包括可執(zhí)行代碼的),被發(fā)送出去后會(huì)被礦工打包記錄在某一個(gè)區(qū)塊中,當(dāng)需要調(diào)用...
摘要:還需注意的一點(diǎn)是,定長數(shù)組,不能與變長數(shù)組相互賦值,我們來看下面的代碼無法編譯已經(jīng)計(jì)劃在未來移除這樣的限制。的變長數(shù)組,可以通過給賦值調(diào)整數(shù)組長度。的變長數(shù)組不支持。 本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接:智能合約語言Solidity教程系列5 - 數(shù)組介紹原文已更新,請(qǐng)讀者前往原文閱讀 Solidity 教程系列第5篇 - Solidity 數(shù)組介紹。Solidity 系列完整的文章...
摘要:狀態(tài)變量合約內(nèi)聲明的公有變量還有一個(gè)存儲(chǔ)位置是,用來存儲(chǔ)函數(shù)參數(shù),是只讀的,不會(huì)永久存儲(chǔ)的一個(gè)數(shù)據(jù)位置。稱這個(gè)為狀態(tài)改變,這也是合約級(jí)變量稱為狀態(tài)變量的原因。 本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接:智能合約語言 Solidity 教程系列4 - 數(shù)據(jù)存儲(chǔ)位置分析原文已更新,請(qǐng)讀者前往原文閱讀 Solidity教程系列第4篇 - Solidity數(shù)據(jù)位置分析。 寫在前面 Solidity...
閱讀 2753·2021-10-11 10:57
閱讀 1585·2021-09-26 09:55
閱讀 1320·2021-09-06 15:11
閱讀 3464·2021-08-26 14:16
閱讀 680·2019-08-30 15:54
閱讀 547·2019-08-30 12:43
閱讀 3306·2019-08-29 16:18
閱讀 2581·2019-08-23 16:14