library库的申明:

library SafeMath{

  functrion mul(uint a,uint b) public returns (uint){

  uint c= a*b;

  assert(c/a = b)

  return c

}

}

使用library库

1 合约中引入

两种调用方式:

2) 直接调用librady名称 :

import "XX.sol"

contract test{

  function mul(uint a,uint b) public returns(uint){

  return SafeMath.mul(a,b);

}

}

2)使用using for

import "XX.sol"

contract test{

  using SafeMath for uint;//这句话的意思是给合约中的uint类型的变量绑定SafeMath库中的所有方法

  function mul(uint a,uint b) public returns(uint){

  return a.mul(b);//这种调用方法是就a做为第一个变量传入到库的mul方法中

}

}

05-11 22:53