Sui Framework

Sui Framework 是 Package Manifest 中的默认依赖集。它依赖于 标准库,提供了特定于 Sui 的功能,包括与存储的交互,以及 Sui 特定的本地类型和模块。

为方便起见,我们将 Sui Framework 中的模块分为多个类别。但它们仍然属于同一个框架。

核心模块

模块描述章节
sui::address添加了对 地址类型 的转换方法地址
sui::transfer实现了对象的存储操作它以一个对象开始
sui::tx_context包含了 TxContext 结构体及其相关方法用于读取交易上下文
sui::object定义了创建对象所需的 UIDID 类型它以一个对象开始
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::bcs实现了 BCS 编码和解码函数二进制规范序列化

导出地址

Sui Framework 导出了两个命名地址:sui = 0x2std = 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 仓库 中找到。