- No state variables
- Cannot inherit nor be inherited
- Cannot receive Ether
- 선언
- library Name { code }
- 사용
using Name for uint256;
// typeusing Name for *;
// wildcard type
- https://solidity.readthedocs.io/en/v0.4.24/contracts.html#libraries
- safeMath https://github.com/solidity-korea/solidity-A-to-Z/blob/master/contracts/OverflowUnderflow.sol
- internal, private function 으로 구성된 Library 는 통합 배포됨
- MathUtils 올림, 내림, 반올림 Library 예제
- https://github.com/solidity-korea/solidity-A-to-Z/blob/master/contracts/LibTest.sol
- public, external function 으로 구성된 Library 는 통합 별도 배포, link 필요
solc --bin LibTest.sol
solc --bin LibTest.sol | solc --link --libraries LibTest.sol:MathUtils:0x95816bd09ce1ac416f2d07a7e2d2dbbbf17b9337
solc --bin LibTest.sol --libraries LibTest.sol:MathUtils:0x95816bd09ce1ac416f2d07a7e2d2dbbbf17b9337
- https://solidity.readthedocs.io/en/v0.4.24/using-the-compiler.html