UUPSUpgradeable部署合约和升级合约

写一个合约
// SPDX-License-Identifier: MIT
// Compatible with OpenZeppelin Contracts ^5.0.0
pragma solidity ^0.8.20;

import "@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol";

contract MyContract is Initializable, PausableUpgradeable, OwnableUpgradeable, UUPSUpgradeable {
     using CountersUpgradeable for CountersUpgradeable.Counter;
    CountersUpgradeable.Counter private changeId;
    uint public number;
    // string public name;
    /// @custom:oz-upgrades-unsafe-allow constructor
    constructor() {
        _disableInitializers();
    }

    function initialize(address initialOwner) initializer public {
        __Pausable_init();
        __Ownable_init(initialOwner);
        __UUPSUpgradeable_init();
    }

    function pause() public onlyOwner {
        _pause();
    }

    function unpause() public onlyOwner {
        _unpause();
    }

    function updateNumber(uint _number) public returns (uint, uint) {
        number = _number;
        changeId.increment();
        uint id = changeId.current();
        return (number, id);
    }

    //  function addName(string memory _name) public returns (string memory){
    //     name = _name;
    //     return name;
    // }

    function _authorizeUpgrade(address newImplementation)
        internal
        onlyOwner
        override
    {}
}


1. 使用代理部署 并添加拥有者

请添加图片描述

2. 没有name number为10

请添加图片描述

3. 使用代理升级部署 填写上面代理的合约地址

请添加图片描述

4. 合约地址没有变,但是添加了name,并且保存了number的属性值

请添加图片描述

相关推荐

  1. Starknet 命令行工具之Starkli | 使用Starkli部署合约

    2024-04-24 10:16:01       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-24 10:16:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-24 10:16:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-24 10:16:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-24 10:16:01       20 阅读

热门阅读

  1. 组合模式(Composite)

    2024-04-24 10:16:01       16 阅读
  2. nn.Sequential与tensorflow的Sequential对比

    2024-04-24 10:16:01       47 阅读
  3. vue2使用过滤器实现菜单栏文字动态显示

    2024-04-24 10:16:01       14 阅读
  4. Element UI的el-table-column组件不支持v-show指令

    2024-04-24 10:16:01       15 阅读
  5. 什么是 XSS 攻击?

    2024-04-24 10:16:01       14 阅读
  6. Android kotlin创建App实例

    2024-04-24 10:16:01       16 阅读
  7. vs code使用SSH远程连接ubuntu

    2024-04-24 10:16:01       19 阅读
  8. C# 通过阿里云 API 实现企业工商数据查询

    2024-04-24 10:16:01       14 阅读
  9. 探索PyTorch与深度学习:从基础到实践

    2024-04-24 10:16:01       14 阅读
  10. TCP、UDP客户端

    2024-04-24 10:16:01       18 阅读
  11. 在 Windows 下搭建自己的深度学习开发环境

    2024-04-24 10:16:01       14 阅读