智能单位

在Solidity中,我们需要知道一点既定事实。总所周知,我们可以有weiszabofinneyether等单位来表示以太币。
同时也有secondsminuteshoursdaysweeks等单位来表示时间。
我们知道,1 ether = 10^18 wei1 minute = 60 seconds。因此,我们如果要在代码里表示1 eth的内容,我们可以选择输入10 ** 18,但是这并不是好的做法。
因此,Solidity提供了一种更好的方式来表示这些单位。一种是Ether Units用于表示ETH的单位,另一种是Time Units用于表示时间的单位。

Ether Units

最早时,Solidity提供了weiszabofinneyether等单位来表示ETH的单位。不过在0.7.0版本后,Solidity删除了szabofinney单位。只保留了weigweiether

Loading ~~

可以看到,weigweiether他们之间的转换关系为1 ether == 10 ** 9 gwei == 10 ** 18 wei

Time Units

那么,如何表示时间量呢?Solidity提供了secondsminuteshoursdaysweeks等单位来表示时间。

Loading ~~

他们的转换关系如上述代码所示。

小贴士

提示,即使使用了智能单位,我们依然可以使用一般的运算符号,比如+-*/%等来进行运算。

习题

请将下方合约按照注释内容完善,难度:🌟
Loading ~~