文章 视频 讲堂 百科图谱 线下集训
更多
  • 问答
  • 提问
  • 发表文章
  • 专栏
  • 活动
  • 文档
  • 工作
  • 集市
  • 发现
  • 文章
  • 问答
  • 视频
  • 讲堂
  • 线下集训
  • 专栏
  • 活动
  • 工作
  • 文档
  • 集市
搜索
  • 登录/注册
Michael.W
  • 文章
  • 专栏
  • 问答
  • 视频
  • 课程
  • 集市作品
  • 活动
  • 招聘
TA的文章 TA购买的 TA喜欢的 TA收藏的
Michael.W基于Foundry精读Openzeppelin第18期——DoubleEndedQueue.sol

DoubleEndedQueue库提供了双向队列的数据结构及对应操作库函数,提供了队头或队尾插入及弹出元素值等逻辑功能。本库采用优化过的storage存储且所有操作的时间复杂度都是O(1)。特别要注意的是库中的clear操作仅仅将队头和队尾指针清零,而之前队列中的元素值依然留存在storage中

OpenZeppelin 
发布于 2023-08-02 13:25 阅读(2268) 点赞(1) ( 4 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第17期——BitMaps.sol

BitMaps库开发了一种存储更紧凑且高效的mapping(uint256=>bool)。传统的mapping(uint256=>bool)中一个slot只能存储一个键值对的bool值信息,而改用了BitMaps.BitMap数据结构后,一个slot理论上最多可以存256个键值对的bool值信息。

OpenZeppelin 
发布于 2023-08-01 00:47 阅读(2031) 点赞(0)
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第16期——SignedSafeMath.sol

SignedSafeMath库就是直接对solidity内置的int256类型的加减乘除运算的函数封装。

OpenZeppelin 
发布于 2023-07-31 09:38 阅读(2034) 点赞(0)
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第15期——SignedMath.sol

SignedMath库提供了solidity中尚未内置的标准有符号数的数学运算方法。

OpenZeppelin 
发布于 2023-07-30 01:36 阅读(2601) 点赞(0) ( 3 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第14期——SafeMath.sol

SafeMath库是对solidity中uint256的加、减、乘、除和取模运算的一层封装。由于solidity 0.8之前的uint256运算是不做溢出检查,许多基于0.8版本之前的项目都会使用该库。0.8版本之后solidity编译器内置了整形数溢出检查,所以SafeMath库也不再被广泛使用。

OpenZeppelin 
发布于 2023-07-28 16:08 阅读(2306) 点赞(0) ( 2 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第13期——Checkpoints.sol

Checkpoints库定义了History、Trace224和Trace160结构体。这些结构体中包含了在各个不同的区块高度或自定义key上记录的数值并可以查询出对应区块高度或key上的记录值。Checkpoints库提供了标准的添加记录、查询记录的库方法。

OpenZeppelin 
发布于 2023-07-27 00:39 阅读(2018) 点赞(0)
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第12期——SafeCast.sol

SafeCast库提供了solidity的基础整数类型uintX和intX之间的类型安全转换的库方法。在不同的类型转换之间都加入溢出检查,如果一旦在转换过程中出现类型的溢出会立刻revert。

OpenZeppelin 
发布于 2023-07-23 17:37 阅读(1869) 点赞(0) ( 4 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第11期——Math.sol

Math库为合约开发提供了solidity内置的uint256运算以外的其他整形运算方法。solidity内置的整形运算,每一步都会做overflow revert(除非unchecked{}),而Math库会在不影响结果准确性的前提下利用位溢出进行更加tricky的操作。

OpenZeppelin 
发布于 2023-07-22 17:16 阅读(2651) 点赞(1) ( 6 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第10期——Create2.sol

Create2库本质就是对EVM opcode CREATE2进行的一个封装,可以让开发者在非内联汇编环境下直接使用该opcode。 CREATE2是一种可提前计算合约部署地址的合约部署opcode。而传统的合约部署是通过opcode CREATE完成的。

OpenZeppelin 
发布于 2023-07-17 09:01 阅读(2675) 点赞(2) ( 9 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第9期——Multicall.sol

Multicall库提供了一个multicall(bytes[] calldata data)方法,通过该方法可以由调用者在一笔交易中自由组合调用本合约的各个可外部调用的方法。

OpenZeppelin  multicall 
发布于 2023-07-16 11:14 阅读(2930) 点赞(1) ( 4 )
分享
Twitter分享
微信扫码分享
  • ‹
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ›
文章删除后将不可恢复 !
删除 取消
一键转载
转载文章不用复制粘贴和编辑,输入原文链接,交给后台发布!
暂只支持: 微信公众号、Mirror、Medium的文章链接
提交后可在个人主页查看文章发布状态
提交
提交成功!
系统处理完成后将直接进入审核发布流程,可在个人主页关注文章状态。
Michael.W
Michael.W
0x93E7...0000
贡献值: 686 学分: 537
狂热的区块链爱好者
1 关注 49 粉丝
关于
关于我们
社区公约
学分规则
Github
伙伴们
DeCert
ChainTool
GCC
合作
广告投放
发布课程
联系我们
友情链接
关注社区
Discord
Twitter
Youtube
B 站
公众号

关注不错过动态

微信群

加入技术圈子

©2025 登链社区 版权所有 | Powered By Tipask3.5|
粤公网安备 44049102496617号 粤ICP备17140514号 粤B2-20230927 增值电信业务经营许可证

发送私信

请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!

提醒

检测到你当前登录的账号还未绑定手机号
请绑定后再发布
去绑定
编辑封面图
封面预览