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

UpgradeableBeacon库是信标代理模式中的信标合约的实现,与一个或多个BeaconProxy库实例配合使用。所有到BeaconProxy的调用都会被委托到本库指向的逻辑合约上。本库的owner具有更换逻辑合约地址的权限,从而实现信标代理合约的升级功能。

UpgradeableBeacon  OpenZeppelin  Foundry 
发布于 2024-08-13 20:40 阅读(1585) 点赞(0) ( 33 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第67期——BeaconProxy.sol

BeaconProxy库是信标代理合约的实现。与ERC1967Proxy和TransparentUpgradeableProxy两种代理合约不同,信标代理合约背后的逻辑合约地址并不是存储在代理合约内,而是存储于信标合约中。信标代理合约自身只存储信标合约的地址。

BeaconProxy  OpenZeppelin  Foundry 
发布于 2024-07-23 17:05 阅读(1775) 点赞(0) ( 23 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第66期——ProxyAdmin.sol

ProxyAdmin库是指定用于做透明代理TransparentUpgradeableProxy库admin的管理员合约。

ProxyAdmin  OpenZeppelin  Foundry 
发布于 2024-07-21 14:59 阅读(1602) 点赞(0) ( 24 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第65期——TransparentUpgradeableProxy.sol

TransparentUpgradeableProxy库是一个透明代理合约的实现,其背后的逻辑合约可由admin来升级。一般的代理合约本身需要管理函数,当这些函数同其背后的逻辑合约的函数产生selector冲突时可能会暴露潜在的漏洞。透明代理模式解决了以上问题。

TransparentUpgradeableProxy  OpenZeppelin  Foundry 
发布于 2024-07-19 14:00 阅读(1688) 点赞(0) ( 28 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第64期——UUPSUpgradeable.sol

UUPSUpgradeable库是专为UUPS代理设计的一种合约升级机制的实现。当本合约被设置为ERC1967Proxy代理合约背后的逻辑合约后,可以对其进行合约升级操作。作为逻辑合约的父合约,本库的安全机制可保证不会因某次错误的升级而打破合约的可升级性。

UUPSUpgradeable  OpenZeppelin  Foundry 
发布于 2024-07-16 22:29 阅读(1654) 点赞(0) ( 25 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第63期——Initializable.sol

Initializable库用于开发可升级合约或代理合约背后的逻辑合约。由于代理合约无法执行constructor函数,通常是将该函数逻辑放到一个external函数中(称为initialize函数)。本库可确保initializer函数全局只能被调用一次。

Initializable  OpenZeppelin  Foundry 
发布于 2024-07-09 18:04 阅读(1663) 点赞(0) ( 21 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第62期——ERC1967Proxy.sol

ERC1967Proxy库实现了一个基于ERC1967标准的代理合约。通过改变存储于ERC1967标准规定的_IMPLEMENTATION_SLOT号slot中的代理合约地址,代理合约便实现了合约逻辑可升级的功能。

ERC1967Proxy  OpenZeppelin  Foundry 
发布于 2024-07-04 09:40 阅读(1807) 点赞(0) ( 27 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第61期——ERC1967Upgrade.sol

ERC1967Upgrade库实现了基于ERC1967标准(代理合约的slot分布)的slots读写函数,并在对应slot更新时emit出标准中相应的event。对于各种可升级合约和代理合约的实现而言,本库的作用举足轻重。

ERC1967Upgrade  OpenZeppelin  Foundry 
发布于 2024-07-02 18:48 阅读(1700) 点赞(0) ( 23 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第60期——Clones.sol

Clones库是最小代理合约的工厂合约实现,也称之为克隆工厂。ERC1167指定了一种将全部调用都delegatecall到一个已知固定地址的最小字节码实现,它可以以一种不可变且成本极低的方式克隆目标合约。

Clones  OpenZeppelin  Foundry 
发布于 2024-06-26 20:37 阅读(1680) 点赞(0) ( 22 )
分享
Twitter分享
微信扫码分享
Michael.W基于Foundry精读Openzeppelin第59期——Proxy.sol

Proxy库对外只暴露了fallback和receive函数,是代理合约的基础实现。所有对Proxy合约的call都将被delegatecall到implement合约且delegatecall的执行结果会原封不动地返还给Proxy合约的调用方。通常称implement合约为代理合约背后的逻辑合约。

OpenZeppelin  Foundry  proxy 
发布于 2024-06-23 20:21 阅读(1521) 点赞(0) ( 11 )
分享
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 增值电信业务经营许可证

发送私信

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

提醒

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