本文详细介绍了 OpenZeppelin Contracts 的最新更新版本 5.0.0,涵盖了新增和移除的合同与库、按类别的主要变化,以及改进的安全性和合约结构,使开发者能够构建更强大和高效的去中心化应用。
如果你无法阅读这篇文章是因为付费墙,请点击这里免费阅读!
在这篇文章中,我们将深入探讨 OpenZeppelin Contracts 的最近重大更新——版本 5.0.0。
如果你希望通过了解新的推荐措施来在下一次审核中提供最佳价值,那么这篇文章就是为你准备的。
我们将逐一介绍关键的新增和移除内容,并对本次发布的主要变化按类别进行揭示。
如果你喜欢的话,也可以观看这些更新。
新的合约和库,如
AccessManager
、GovernorStorage
和ERC2771Forwarder
,用于更好的访问控制和元交易支持。
新的
VestingWallet
合约用于处理代币归属计划。
此合约旨在处理代币归属计划,确保代币按照可控和时间绑定的方式分发给受益人,通常用于在激励计划或其他合同协议中锁定代币一段时间。
移除多个合约和库,包括
ERC20Snapshot
、PaymentSplitter
和SafeMath
等。
提升了错误处理,使用自定义错误,并将最低编译器版本升级至 0.8.20。
改进了访问控制机制,增加了
AccessManager
,并更新了Ownable
和AccessControl
合约。
Ownable
合约看到两个关键更新:
initialOwner
参数,以明确所有权的初始化。address(0)
)作为初始所有者,在合约部署期间确保设置有效所有者,从而增强合约的安全性。修复了
VestingWallet
中的回退问题,并切换使用Ownable
代替不可变的beneficiary
。
在
Governor
合约中进行了优化和重构,并引入了GovernorStorage
以更好地管理提案数据。
增强了
ERC2771Forwarder
和ERC2771Context
以更好地处理元交易。
对代理合约进行了各种改进,以提高可升级性和管理性。
ProxyAdmin
和 TransparentUpgradeableProxy
中的某些 getter。ERC1967Upgrade
重构为库。TransparentUpgradeableProxy
现在将管理员地址存储在不可变变量中,以减少代理调用的存储读取。ERC-1822
的验证逻辑在升级时从 ERC1967Utils
迁移至 UUPSUpgradeable
,以更好地管理合约的可升级性。v5.0.0 更新为 OpenZeppelin Contracts 库带来了显著的增强,使其更强大且对开发者更友好。
借助增强的安全措施和优化的合约结构,开发者现在可以构建更强大且高效的去中心化应用。
今天就这些,我希望你能发现这个视频有用。敬请期待更多更新。
有关完整更新列表,请访问 https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v5.0.0
这是一个智慧合约黑客课程的 $50 折扣。
https://smartcontractshacking.com/?referral=bloqarl
查看我的 Web3 安全 YouTube 频道 https://www.youtube.com/@theblockchainer,这里有许多新类型的 Web3 内容可供你使用。
快来探索 https://www.theblockchainerhub.xyz/ 的知识与资源,并订阅新闻通讯,以便不错过更新。
确保在 Twitter 上关注我 https://twitter.com/TheBlockChainer,获取我最新的更新。
并在 Medium 上订阅,以便随时访问我所有的文章 https://medium.com/@bloqarl/membership。
- 原文链接: medium.com/@bloqarl/late...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!