solidity 的库。
- 一个特殊的合约
- 可以像合约一样部署,但是没有状态变量,也不能存储以太币
- 可重用
- 部署一次,在不同合约中反复使用
- 节约
gas,相同代码不需要一遍遍部署
定义和使用
1 | library mathlib{ |
库函数使用委托的方式调用 delegatecall,库代码是在发起合约中执行。
using for 扩展类型
using A for B 把库函数关联到类型 B
A 库中有函数 add(B b),则可以使用 b.add()
math.sol 和 t.sol
math.sol文件
1 | library math{ |
t.sol文件
1 | library math{ |
using
1 | pragma solidity ^0.4.18; |
一些常用的库