第十七章 · 包升级
在 Sui 上,已发布的包是不可变对象——字节码一旦上链就永远不会改变。包升级机制通过发布一个与原始包链接的新版本来实现迭代:旧包保持不变,新包继承类型系统,共享对象在两个版本之间通过迁移函数无缝过渡。
本章从升级机制、策略选择、版本化模式、数据迁移到完整实战,系统讲解包升级的完整知识体系。
本章内容
| 节 | 主题 | 你将学到 |
|---|---|---|
| 15.1 | 升级机制与 UpgradeCap | 升级原理、三步流程、兼容性规则、CLI 操作 |
| 15.2 | 升级策略 | 四种内置策略、收紧操作、自定义策略(时间锁/多签) |
| 15.3 | 版本化共享对象 | 包级、对象级、混合三种版本化模式 |
| 15.4 | 数据迁移与向前兼容 | 动态字段扩展、Bag/Anchor 模式、用户对象迁移 |
| 15.5 | 实战:Hero 游戏完整升级 | 从 V1 到 V2 的完整案例与 CLI 验证 |
学习目标
读完本章后,你将能够:
- 理解 UpgradeCap 与升级三步流程,掌握兼容性规则
- 根据项目阶段选择合适的升级策略,必要时实现自定义策略
- 设计版本化共享对象,实现发布与激活解耦的迁移窗口
- 使用动态字段实现向前兼容的对象设计
- 独立完成一次从发布、升级到迁移、验证的全流程