可升级合约_disableInitializers

runtoweb3.com runtoweb3.com 提出于 2022-06-15 16:03 5530 浏览

`

contract MyToken is Initializable, ERC20Upgradeable,  UUPSUpgradeable { 

    /// @custom:oz-upgrades-unsafe-allow constructor
    constructor() {
        _disableInitializers();
    }

    function initialize() initializer public {
        __ERC20_init("MyToken", "TT");     
        __UUPSUpgradeable_init();
    }

部署MyToken后,初始化的函数initialize() 就不能再执行了,那我的合约如何初始化的?

使用OpenZeppelin Upgrades插件是可以正常部署合约的,但是不明白它是怎么初始化合约的。

最佳答案

2022-06-16 08:52

明白了,逻辑合约的initialize只能让代理合约来调用,可升级合约的存储都放在代理合约里面。

其它 2 个回答

julian 2022-06-15 17:34
Tiny熊 2022-06-15 17:59

擅长:智能合约,以太坊

写回答

你需要登录后才可以回答问题,登录