代理模式与 Delegatecall 规范手册

《代理模式与 Delegatecall 书籍》深入探讨了 Solidity 开发中的代理模式及其背后的原理,针对开发者和审计师的需求,系统性地呈现了有关 EVM 及 Solidity 编译器的知识。这本书清晰地组织了多个章节,从存储槽、ABI 编码到代理模式的不同实现,提供了丰富的有用信息,是希望深入了解这一复杂主题的开发者的重要资源。

代理模式与 Delegatecall 规范手册

代理模式可能是学习 Solidity 开发中最令人困惑的方面之一,因为在其他软件开发领域几乎没有类似的类比。进一步复杂化的问题是——尽管从概念上讲,delegatecall 是容易理解的——完全掌握其细微差别需要对 EVM(以太坊虚拟机)和 Solidity 编译器的工作原理有一定的背景知识。这些细微差别并不是简单的“你知道吗”的琐事,而是对智能合约的运行方式有重要影响。此外,代理模式的标准仍在发展中——截至撰写本文时,ERC-7201 到现在还不到一年的时间。

任何合格的 Solidity 开发者或审计员,都应该对 delegatecall 及其所依赖的代理模式有全面的理解。代理模式并不简单,一个错误就可能破坏可升级性,或者更糟,导致灾难性错误。

本书旨在帮助这样的读者高效且全面地掌握这一主题,同时深入探讨在其他文献中省略或忽视的细节。与此同时,我们力求范围明确;本书不是关于 EVM 的完整课程——我们仅讨论与正确理解 delegatecall 及现有模式设计相关的部分。

我们建议按照下面提供的顺序阅读教程。多位读者评论道:“我以为我懂这个主题,直到我读了 RareSkills 的教程。”因此,我们建议即使你已经熟悉该主题,也要认真阅读这些教程。

目录

第 1 章

存储槽是如何工作的

第 2 章

动态数据类型的存储槽

第 3 章

ABI 编码

第 4 章

低级调用

第 5 章

深度解析 Try Catch

第 6 章

使用汇编进行回滚

第 7 章

Delegatecall

第 8 章

代理简介

第 9 章

ERC-1967:代理的存储槽

第 10 章

透明可升级代理模式

第 11 章

UUPS 模式(ERC-1822)

第 12 章

ERC-7201:存储命名空间

第 13 章

初始化函数的使用及原理

第 14 章

信标代理模式

第 15 章

克隆模式(ERC-1167)

第 16 章

Metaproxy 模式(ERC-3448)

第 17 章

回退扩展模式

第 18 章

Openzeppelin Foundry 的升级插件

第 19 章

Nodelegatecall

致谢

我们要感谢 OpenZeppelin 团队在创建本资源时提供的意见和建议。

  • 原文链接: rareskills.io/proxy-patt...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
RareSkills
RareSkills
https://www.rareskills.io/