Skip to main content

Sui 框架 (Sui Framework)

要在 Sui 上進行程式設計,您必須與 Sui 框架互動。它是一組定義了物件、其行為以及如何在系統內與其互動的模組。Sui 框架作為一個套件發佈,且對網路上的任何程式都可用(其地址為 0x2)。

為了方便起見,我們將 Sui 框架中的模組分成了多個類別。但它們仍然是同一個框架的一部分。

核心模組 (Core)

模組描述章節
sui::address地址類型 添加轉換方法地址
sui::transfer實作物件的存儲操作存儲函式
sui::tx_context包含 TxContext 結構及其讀取方法交易上下文
sui::object定義建立物件所需的 UIDID 類型UID 與 ID
sui::derived_object允許透過密鑰衍生產生 UIDUID 衍生
sui::clock定義 Clock 類型及其方法Epoch 與時間
sui::dynamic_field實作新增、使用和移除動態欄位的方法動態欄位
sui::dynamic_object_field實作新增、使用和移除動態物件欄位的方法動態物件欄位
sui::event允許為鏈外監聽器發送事件事件
sui::package定義 Publisher 類型和套件升級方法發佈者, 套件升級
sui::display實作 Display 物件及其建立與更新方式顯示 (Display)

集合模組 (Collections)

模組描述章節
sui::vec_set實作集合 (set) 類型集合
sui::vec_map實作以向量為鍵的映射 (map)集合
sui::table實作 Table 類型及其互動方法動態集合
sui::linked_table實作 LinkedTable 類型及其互動方法動態集合
sui::bag實作 Bag 類型及其互動方法動態集合
sui::object_table實作 ObjectTable 類型及其互動方法動態集合
sui::object_bag實作 ObjectBag 類型及其互動方法動態集合

工具模組 (Utilities)

模組描述章節
sui::bcs實作 BCS 編碼與解碼功能二進位規範序列化 (BCS)
sui::borrow實作「按值借用」的借用機制燙手山芋 (Hot Potato)
sui::hex實作十六進位編碼與解碼功能-
sui::types提供檢查類型是否為 One-Time-Witness 的方法一次性見證 (One-Time Witness)

導出的地址 (Exported Addresses)

Sui 框架導出了兩個具名地址:sui = 0x2 以及來自 std 依賴項的 std = 0x1

[addresses]
sui = "0x2"

# 導自 MoveStdlib 依賴項
std = "0x1"

隱式導入 (Implicit Imports)

就像 標準庫 一樣,Sui 框架中的某些模組和類型會被隱式導入。以下是無需顯式使用 use 導入即可使用的模組和類型清單:

  • sui::object
  • sui::object::ID
  • sui::object::UID
  • sui::tx_context
  • sui::tx_context::TxContext
  • sui::transfer

原始碼 (Source Code)

Sui 框架的原始碼可在 Sui 儲存庫 中找到。