阅读(4915)
赞(14)
单位
2022-05-12 10:40:29 更新
以太单位
文字数字可以采用 后缀wei
,gwei
或ether
指定 Ether 的子面额,其中不带后缀的 Ether 数字被假定为 Wei。
assert(1 wei == 1); assert(1 gwei == 1e9); assert(1 ether == 1e18);
小面额后缀的唯一效果是乘以十的幂。
笔记
面额finney
和szabo
已在 0.7.0 版中删除。
时间单位
seconds
像, minutes
, hours
,days
和after 字面数字这样的后缀weeks
可用于指定时间单位,其中秒是基本单位,单位以下列方式被天真地考虑:
-
1 == 1 seconds
-
1 minutes == 60 seconds
-
1 hours == 60 minutes
-
1 days == 24 hours
-
1 weeks == 7 days
如果您使用这些单位执行日历计算,请小心,因为并非每年都等于 365 天,而且由于闰秒,甚至每天都有 24 小时。由于无法预测闰秒,因此必须由外部预言机更新精确的日历库。
笔记
years
由于上述原因,该后缀在 0.5.0 版本中已被删除。
这些后缀不能应用于变量。例如,如果你想以天为单位解释一个函数参数,你可以通过以下方式:
function f(uint start, uint daysAfter) public { if (block.timestamp >= start + daysAfter * 1 days) { // ... } }