openzeppelin库详解

25 篇文章 1 订阅
22 篇文章 0 订阅

OpenZeppelin 7个最常使用的合约 - 知乎

地址:https://github.com/OpenZeppelin/openzeppelin-solidity
详解:https://www.linuxidc.com/Linux/2016-10/135891.htm
一个在以太坊上建立安全智能合约的框架,目前集成与Truffle和Embark

  • 安装步骤(ubuntu) 

新建一个自己的合约目录,进入合约目录
Truffle init
npm init -y 该步生成一个package.json,内置一些配置信息
npm install -E openzeppelin-solidity
导入:import ‘openzeppelin-solidity/contracts/ownership/Ownable.sol’;

  • 模块 

access:地址白名单和基于签名的权限管理
crowdsale: 用于管理令牌众筹的一系列智能合约,允许投资者购买eth代币
examples:一组简单的智能合约,演示如何通过多重继承向基础合约添加新功能。
introspection:对ERC165的简单实现,ERC165用于创建标准方法以发布和检测智能合约实现的接口。
lifecycle:一个用于管理合约及其资金的生命周期和行为的基础合约集合
math:对发生错误的操作进行安全检查的库。
mocks:主要用于单元测试的抽象合约集合。
ownership:一个用于管理合约以及TOKEN所有权的集合
payment:可以通过托管安排、取款、索赔管理支付相关的智能合约集合,支持单个收款人和多个收款人
proposals:对eip-1046的实现,EIP-1046对ERC20做了简单的扩展
token:一组ERC标准接口 主要是ERC20和ERC721

  • 详解 
  1. Access
  2. Crowdsale
  3. Examples
  4. Introspection 
  5. ERC165:创建和发布一个标准方法、用于检测智能合约实现的接口
  6. 源码地址:https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md
  7. ERC165可以标准化以下内容 
  • 如何识别接口
  • 智能合约如何发布其实现的接口
  • 如何检测智能合约是否实现了ERC165
  • 如何检测智能合约是否实现了一个给定的接口

  1. SupportsInterfaceWithLookup:查找支持的接口

  • Lifecycle 
  1. Destructible:销毁合约
  2. Pausable:可暂停
  3. TokenDestructible:销毁token
  • Math 
  1. Math:简单的数学操作
  2. SafeMath:带有安全检查的数学运算
  • Mocks
  • Ownership 

Rbac 

  1. RBAC:Role-Based Access Control 角色控制
  2. Roles:角色操作
  3. CanReclaimToken:可回收TOKEN
  4. Claimable:ownerable合约扩展,可用于转移合约所有权
  5. Ownable:所有权操作
  6. Contactable:设置合约信息
  7. DelayedClaimable:Claimable合约扩展、限制pendingOwner只能在两个指定的区块编号之间完成所有权转移
  8. HasNoContracts:合约所有者可收回合约的所有权
  9. HasNoEther:合约锁定、阻止以太币转入、防止意外丢失
  10. HasNoTokens:TOKEN回收
  11. Superuser:超级用户:就算不是owner也可转移合约所有权
  12. Heritable:可继承合约
  • Payment 

ConditionalEscrow:收款人取出资金的条件
Escrow:托管、余额的存取
PullPayment:存款的查询与取款、支持异步交易
RefundEscrow:可退款托管
SplitPayment:支持多个收款人按照自己所占权重/比例来提取资金

  • Proposals 

ERC721标准为不可替换的令牌引入了“tokenURI”参数来处理元数据,例如:缩略图、标题、描述、性能等等。这对于加密收藏品和游戏资产尤其重要。
TokenMetadata:TOKEN元数据(TokenURI设置与获取)
 

参考资料

以太坊合约的3种访问控制方法【OpenZeppelin】_新缸中之脑的博客-CSDN博客_智能合约 访问控制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端段

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值