Solidity以太及时间单位_TUR:Ethereum Gas Limit

Solidity是以太坊智能合约编程语言,当然你在阅读这篇文章之前,你应该对以太坊、智能合约有初步或者深入的了解,当然你还是不了解的话,建议你先去看以太坊是什么。

时间单位

时间单位:seconds,minutes,hours,days,weeks,years均可做为后缀,并进行相互转换,规则如下:

1==1seconds(默认是seconds为单位)

1minutes==60seconds

1hours==60minutes

1days==24hours

1weeks=7days

1years=365days

使用这些单位进行日期计算需要特别小心,因为不是每年都是365天,闰年是366天,且并不是每天都有24小时,因为还有闰秒。由于无法预测闰秒,必须由外部的预言来更新从而得到一个精确的日历库。

这些后缀不能用于变量。如果想对输入的变量说明其不同的单位,可以使用下面的方式:

pragmasolidity^0.4.16;contracttestTUnit{functioncurrTimeInSeconds()publicpurereturns(uint256){returnnow;}functionf(uintstart,uintdaysAfter)public

{if(now>=start+daysAfter*1days)

{//……}}}

货币单位

一个字面量后面跟随一个后缀wei、finney、szabo或者ether,这些后缀就是货币单位,不同的单位可以转换。不含任何后缀的默认单位是wei。不同的以太币单位转换关系如下:

1ether==10^18wei

1ether==10^6szabo

1ether==10^3finney

1ether==1000finney

我们可以使用以下代码验证一个转换关系:

pragmasolidity^0.4.16;contracttestUnit{functiontf()publicpurereturns(bool){if(1ether==1000finney){returntrue;}returnfalse;}functionts()publicpurereturns(bool){if(1ether==1000000szabo){returntrue;}returnfalse;}functiontgw()publicpurereturns(bool){if(1ether==1000000000000000000wei){returntrue;}returnfalse;}}

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:15ms0-3:123ms