本文档描述了部署新代理和实现的过程,重点在于如何初始化合约。由于代理使用delegatecall将调用转发给实现,因此合约的初始化需要特别处理。文档详细介绍了如何部署实现合约、初始化字段,以及如何部署代理并验证字段是否正确初始化。
delegatecall
本文是关于OpenZeppelin升级插件的常见问题解答,涵盖了Solidity编译器版本变更、常见错误、合约升级安全、禁用检查、使用delegatecall和selfdestruct、实现兼容性、代理管理员、实现合约、代理、immutable变量、外部库、升级函数、自定义类型以及在存储变量中使用内部函数等问题。
本文介绍了使用 OpenZeppelin Upgrades Plugins 升级智能合约的方法,包括升级的重要性、如何使用插件升级合约、升级的工作原理以及编写可升级合约的注意事项。通过代理合约和实现合约的分离,实现了在保持合约地址、状态和余额不变的情况下修改合约代码。