Yardbirds is a library for writing flexible modular Smart Contract applications on Ethereum.
Yardbirds is based on OpenZeppelin library and provides modificated and extended contracts to cover surtain usecases.
- Decentralised smart-contract based applications should be upgradable and mantainable just like any other application
- Upgradability and mantainablity can be achieved by modularity
- Modularity can be achieved by segregating responsibilities
- Mantainablity is also a human-mistake tolerancy (where possible)
- Entry-point contracts should be replaced much less often than internal
- Entry-point contracts should be simple for not being upgraded frequently
Yardbirds integrates with Truffle and Embark.
To use with Truffle, first install it and initialize your project with truffle init
.
npm install -g truffle
mkdir myproject && cd myproject
truffle init
To use with Embark, first install it and initialize your project with embark new MyApp
.
npm install -g embark
embark new MyApp
cd MyApp
- token
- ownership
- SafeTransferOwnable - Ownable contract with two-step ownership transfer (transfer & apply).
- ERC20
- mintable
- SegMintableToken - MintableToken with segregated transferrable minter role
- SegMintableFinishableToken - SegMintableToken with ability to finish minting forever
- mintable
- ownership
Code released under the MIT License.