5 solidity代理模式的实现合约,实现方式问题

编写实现合约时,是所有引用的接口、合约都要用

import "@openzeppelin/contracts-upgradeable/xxxxxUpgradeable.sol";

还是只需要最后使用的实现合约引入

import "@openzeppelin/contracts/proxy/utils/Initializable.sol";

并在使用的实现合约里,按如下规则书写就好

constructor(){}
function initialize(address payable ownerAddr) public initializer{
    //原构造函数里的初始化操作
}
请先 登录 后评论

最佳答案 2021-10-15 09:28

初始化是看 这个是看合约里有没有变量需要初始化, 如果有,就需要加。

xxxUpgradeable.sol 看你根据功能需要,如果引入的基础合约有需要初始化的变量, 就需要引入。

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,2777 浏览
  • Ethereal 提出于 2021-10-14 11:39