可升级智能合约开发指南
1. 技术要求
在开始学习可升级智能合约之前,你需要准备以下工具:
- 浏览器:Chrome 或 Firefox
- 访问 Remix 网站
代码文件可在 GitHub 上找到。
2. 理解可升级性
软件不断发展,会发布多个版本,智能合约也不例外。然而,智能合约一旦部署就无法修改,每次部署都会生成一个新的 20 字节地址,新实例与之前的部署没有关联。
以一个部署在以太坊区块链上的银行合约为例,几个月后发现合约有 bug,修复后重新部署,会生成一个新地址,新合约没有旧合约的状态和以太币余额。
这一特性给开发者带来了挑战,早期开发者甚至没有意识到这一点,只能通过迁移状态和以太币余额来解决问题,但这种方法会丢失一些元数据。
3. 理解依赖注入
当智能合约之间存在依赖关系时,依赖合约需要独立合约的实例来调用其函数,有两种方式提供独立合约实例地址:
- 部署时提供 :在智能合约部署时,构造函数可以接受独立合约实例地址作为参数,这也称为基于构造函数的依赖注入。
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 &l
超级会员免费看
订阅专栏 解锁全文
1720

被折叠的 条评论
为什么被折叠?



