本文主要是介绍一起学智能合约之六币值单位和时间单位,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一起学智能合约之六币值单位和时间单位
一、货币单位
ether:一个以太币
finney:千分之一个ether
szabo:百万分之一个ether
wei:10^18 wei=1 ether
这些单位其实都是密码学家的名字:
wei: Wei Dai 戴伟 密码学家 ,发表 B-money
finney: Hal Finney 芬尼 密码学家、工作量证明机制(POW)提出
szabo: Nick Szabo 尼克萨博 密码学家、智能合约的提出者。
看一下官网的例子:
pragma solidity ^0.4.0;
contract EthUnit{
uint a;
function f() returns (bool){
if (2 ether == 2000 finney){
return true;
}
return false;
}
}
二、时间单位
时间的单位和大家的认知基本一致:
1 == 1 seconds
1 minutes == 60 seconds
1 hours == 60 minutes
1 days == 24 hours
1 weeks = 7 days
1 years = 365 days
时分秒年月日再加上一个周。不过这里需要注意的一个问题就是闰年的问题,更新日历库是需要消耗Gas的。看一个例子:
pragma solidity ^0.4.0;
contract DeleteExample{
function nowInSeconds() returns (uint256){
return now;
}
function f(uint start, uint daysAfter) {
if (now >= start + daysAfter * 1 days) {
}
}
}
- 总结
两个单位是Solidity的基础,需要掌握,这个并不难,也谈不上麻烦。看一下基本就能明白,只要记得处理一些小的细节就可以了。
这篇关于一起学智能合约之六币值单位和时间单位的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!