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方法中

}

}

最新文章

  1. PHP读文件的一个乱码问题
  2. 5、Linux 系统基本文件管理
  3. HTML5七大优势“逼宫”APP
  4. ExtJs之Ext.util.Format
  5. javax.naming.NameNotFoundException
  6. js以json形式提交数据,后台接受
  7. Dom兼容问题记录汇总
  8. 【最大团】【HDU1530】【Maximum Clique】
  9. WinForm LED循环显示信息,使用定时器Threading.Timer
  10. POJ 3026 Borg Maze(Prim+BFS建邻接矩阵)
  11. C++ Primer 笔记 第二章
  12. 强化学习(二)马尔科夫决策过程(MDP)
  13. uperTextView-从未如此惊艳!一个超级的TextView
  14. python中对文件和文件夹的操作
  15. 手把手制作一个简单的IDEA插件(环境搭建Demo篇)
  16. slf4j日志的使用
  17. BOM 清除
  18. Mysql 实列结构-进程
  19. ROC曲线和AUC值
  20. shell中的条件判断以及与python中的对比

热门文章

  1. 【linux】top更改排序顺序
  2. vs2012环境配置
  3. stm32.cube介绍
  4. hihocoder 微软编程之美2015 初赛 第二场(暴力+字典序+图论+思维算法)
  5. MySQL存储过程示例
  6. listen and translation exercise 53
  7. MFC模态对话框程序不响应OnIdle
  8. loading bar
  9. 「51Nod1639」绑鞋带(概率
  10. ACM学习历程——UVA127 "Accordian" Patience(栈, 链表)