一起学智能合约之六币值单位和时间单位

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fpcc/article/details/83243140

一起学智能合约之六币值单位和时间单位

 

一、货币单位

ether:一个以太币

finney:千分之一个ether

szabo:百万分之一个ether

wei:10^18 wei=1 ether

这些单位其实都是密码学家的名字:

wei: Wei Dai 戴伟 密码学家 ,发表 B-money

finney: Hal Finney 芬尼 密码学家、工作量证明机制(POW)提出

szabo: Nick Szabo 尼克萨博 密码学家、智能合约的提出者。

扫描二维码关注公众号,回复: 3667842 查看本文章

看一下官网的例子:

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的基础,需要掌握,这个并不难,也谈不上麻烦。看一下基本就能明白,只要记得处理一些小的细节就可以了。

 

猜你喜欢

转载自blog.csdn.net/fpcc/article/details/83243140