本文档介绍了OpenZeppelin Contracts库在不同版本之间的向后兼容性保证,包括API和存储布局的兼容性。文章解释了在patch和minor版本更新中通常会保持向后兼容,但某些情况下可能会有例外,特别是涉及到安全问题或draft状态的ERC标准时。同时提醒了override函数、struct结构体以及错误处理等方面需要注意的问题,并强调了major版本更新通常不保证兼容性。
该文档介绍了如何使用Contracts Wizard Deploy Plugin将智能合约直接部署到OpenZeppelin Defender账户。内容涵盖API密钥的生成、在Contracts Wizard中的配置、网络选择、审批流程设置以及合约的部署过程,包括确定性部署的配置。还介绍了完成部署后的后续步骤,并提供了反馈渠道。
本文介绍了智能合约账户的概念,以及如何使用 OpenZeppelin 提供的工具和合约来构建和配置智能账户。内容涵盖了账户的设置、签名验证、批量执行、用户操作的打包和发送等多个方面,并提及了 ERC-7739 签名、EIP-7702 授权和 ERC-7579 模块化等高级特性。
本文档介绍了如何在Solidity中使用OpenZeppelin Contracts进行合约扩展。主要讨论了通过继承进行功能扩展和通过重写(override)改变父合约行为的方法,包括如何调用super来扩展父合约的行为。同时强调了自定义重写可能带来的安全风险,并建议开发者在更新OpenZeppelin Contracts版本时重新验证其假设。
super
本文介绍了如何使用 OpenZeppelin Contracts 编写能够接收来自 Gas Station Network (GSN) 的交易的智能合约。
本文介绍了如何使用 Hardhat 设置 Solidity 项目,编译 Solidity 源代码,添加更多合约,以及如何使用 OpenZeppelin Contracts。内容涵盖了Solidity 语言的基础知识,并提供了以太坊和智能合约的工作原理,包括使用Hardhat进行智能合约的开发、测试和部署。
本文介绍了如何使用@openzeppelin/truffle-upgrades 插件在 Truffle 迁移和测试中部署和升级合约的代理。 包括使用 deployProxy 和 upgradeProxy 函数部署和升级普通代理,以及使用 deployBeacon、deployBeaconProxy 和 upgradeBeacon 函数来部署和升级信标代理。
deployProxy
upgradeProxy
deployBeacon
deployBeaconProxy
upgradeBeacon
本文介绍了ERC721标准,用于表示非同质化代币的所有权,每个代币都是唯一的。与ERC20相比,ERC721更为复杂,具有多个可选扩展。文章通过一个游戏道具的例子,展示了如何使用OpenZeppelin Contracts构建ERC721代币合约,并介绍了tokenURI中元数据的JSON格式。
tokenURI
本文介绍了如何搭建一个Node.js项目,Node.js被广泛应用于以太坊生态系统。文章详细介绍了如何安装Node.js、创建项目、以及如何使用npm管理包。同时,还提到了使用npx运行本地安装的可执行文件,并建议使用Git进行版本控制。
本文深入探讨了在DeFi协议中整合ERC-4626代币的风险,重点分析了通过捐赠操纵汇率的漏洞利用方式,并结合Venus协议的真实案例进行了说明。文中还讨论了诸如实施相关资产价格预言机(CAPO)和快速响应熔断机制等防御措施,旨在帮助协议减少风险敞口,为所有参与者构建更安全、稳定的DeFi生态系统。