
本文共 831 字,大约阅读时间需要 2 分钟。
一起学智能合约之六币值单位和时间单位
一、货币单位
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的基础,需要掌握,这个并不难,也谈不上麻烦。看一下基本就能明白,只要记得处理一些小的细节就可以了。
发表评论
最新留言
关于作者
