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; |
一些常用的库