import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";
openzeppelin的contracts库
openzeppelin的api文档
drafts:此类合同应被视为不稳定。向后兼容时可以发生API更改,需注意。
access:地址白名单和基于签名的权限管理
crowdsale: 用于管理令牌众筹的一系列智能合约,允许投资者购买eth代币
CappedCrowdsale.sol:众筹上限
IndividuallyCappedCrowdsale.sol:个人的众筹上限
TimedCrowdsale:众筹时间范围
RefundableCrowdsale:退款
PostDeliveryCrowdsale:锁仓
FinalizableCrowdsale:众筹完成之后的操作
examples:一组简单的智能合约,演示如何通过多重继承向基础合约添加新功能。
introspection:对ERC165的简单实现,ERC165用于创建标准方法以发布和检测智能合约实现的接口。
- SupportsInterfaceWithLookup:查找支持的接口
- ERC165可以标准化以下内容:
如何识别接口
智能合约如何发布其实现的接口
如何检测智能合约是否实现了ERC165
如何检测智能合约是否实现了一个给定的接口
lifecycle:一个用于管理合约及其资金的生命周期和行为的基础合约集合
Destructible:销毁合约
Pausable:可暂停
TokenDestructible:销毁token
math:对发生错误的操作进行安全检查的库。
Math:简单的数学操作
SafeMath:带有安全检查的数学运算
mocks:主要用于单元测试的抽象合约集合。
ownership:一个用于管理合约以及TOKEN所有权的集合
Rbac
1.RBAC:Role-Based Access Control 角色控制
2.Roles:角色操作
CanReclaimToken:可回收TOKEN
Claimable:ownerable合约扩展,可用于转移合约所有权
Ownable:所有权操作
Contactable:设置合约信息
DelayedClaimable:Claimable合约扩展、限制pendingOwner只能在两个指定的区块编号之间完成所有权转移
HasNoContracts:合约所有者可收回合约的所有权
HasNoEther:合约锁定、阻止以太币转入、防止意外丢失
HasNoTokens:TOKEN回收
Superuser:超级用户:就算不是owner也可转移合约所有权
Heritable:可继承合约
payment:可以通过托管安排、取款、索赔管理支付相关的智能合约集合,支持单个收款人和多个收款人
ConditionalEscrow:收款人取出资金的条件
Escrow:托管、余额的存取
PullPayment:存款的查询与取款、支持异步交易
RefundEscrow:可退款托管
SplitPayment:支持多个收款人按照自己所占权重/比例来提取资金
proposals:对eip-1046的实现,EIP-1046对ERC20做了简单的扩展(现无)
ERC721标准为不可替换的令牌引入了“tokenURI”参数来处理元数据,例如:缩略图、标题、描述、性能等等。这对于加密收藏品和游戏资产尤其重要。
TokenMetadata:TOKEN元数据(TokenURI设置与获取)
token:一组ERC标准接口 主要是ERC20,ERC721,ERC777(小费)
MintableToken.sol:铸币合约
Capped:铸币上限
Burnable:token销毁