`
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插件是可以正常部署合约的,但是不明白它是怎么初始化合约的。
明白了,逻辑合约的initialize只能让代理合约来调用,可升级合约的存储都放在代理合约里面。