Sui Framework
Sui Framework 是 Package Manifest 中的默认依赖集。它依赖于 标准库,提供了特定于 Sui 的功能,包括与存储的交互,以及 Sui 特定的本地类型和模块。
为方便起见,我们将 Sui Framework 中的模块分为多个类别。但它们仍然属于同一个框架。
核心模块
模块 | 描述 | 章节 |
---|---|---|
sui::address | 添加了对 地址类型 的转换方法 | 地址 |
sui::transfer | 实现了对象的存储操作 | 它以一个对象开始 |
sui::tx_context | 包含了 TxContext 结构体及其相关方法用于读取 | 交易上下文 |
sui::object | 定义了创建对象所需的 UID 和 ID 类型 | 它以一个对象开始 |
sui::clock | 定义了 Clock 类型及其方法 | 纪元和时间 |
sui::dynamic_field | 实现了添加、使用和移除动态字段的方法 | 动态字段 |
sui::dynamic_object_field | 实现了添加、使用和移除动态对象字段的方法 | 动态对象字段 |
sui::event | 允许为链下监听器发出事件 | 事件 |
sui::package | 定义了 Publisher 类型和包升级方法 | 发布者, 包升级 |
sui::display | 实现了 Display 对象及其创建和更新方法 | 显示 |
集合模块
模块 | 描述 | 章节 |
---|---|---|
sui::vec_set | 实现了集合类型 | 集合 |
sui::vec_map | 使用向量键实现了映射 | 集合 |
sui::table | 实现了 Table 类型及其与之交互的方法 | 动态集合 |
sui::linked_table | 实现了 LinkedTable 类型及其与之交互的方法 | 动态集合 |
sui::bag | 实现了 Bag 类型及其与之交互的方法 | 动态集合 |
sui::object_table | 实现了 ObjectTable 类型及其与之交互的方法 | 动态集合 |
sui::object_bag | 实现了 ObjectBag 类型及其与之交互的方法 | 动态集合 |
实用工具模块
导出地址
Sui Framework 导出了两个命名地址:sui = 0x2
和 std = 0x1
,来自于标准库依赖。
[addresses]
sui = "0x2"
# 从 MoveStdlib 依赖中导出
std = "0x1"
隐式导入
就像 标准库 一样,一些模块和类型在 Sui Framework 中是隐式导入的。以下是可以在没有显式 use
导入的情况下使用的模块和类型列表:
- sui::object
- sui::object::ID
- sui::object::UID
- sui::tx_context
- sui::tx_context::TxContext
- sui::transfer
源代码
Sui Framework 的源代码可以在 Sui 仓库 中找到。