Skip to main content

Sui 框架 (Sui Framework)

Sui Framework 是 Package Manifest 中預設的依賴集合。它依賴於 Standard Library,並提供 Sui 專屬的功能:儲存操作、原生型別,以及本章其餘內容所建立在其上的模組。

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

核心 (Core)

ModuleDescriptionChapter
sui::addressaddress 型別 新增轉換方法Address
sui::transfer實作 Object 的儲存操作Storage Functions
sui::tx_context包含 TxContext 結構體以及讀取它的方法Transaction Context
sui::object定義建立物件所需的 UIDID 型別UID and ID
sui::derived_object允許透過金鑰衍生產生 UIDUID Derivation
sui::clock定義 Clock 型別及其方法Epoch and Time
sui::dynamic_field實作新增、使用與移除動態欄位的方法Dynamic Fields
sui::dynamic_object_field實作新增、使用與移除動態物件欄位的方法Dynamic Object Fields
sui::event允許發出事件供鏈下監聽器使用Events
sui::package定義 Publisher 型別以及套件升級方法Publisher
sui::display實作 Display 物件以及建立與更新它的方式Display

集合 (Collections)

ModuleDescriptionChapter
sui::vec_set實作一種 set 型別Collections
sui::vec_map實作以 vector 為鍵的 mapCollections
sui::table實作 Table 型別以及與其互動的方法Dynamic Collections
sui::linked_table實作 LinkedTable 型別以及與其互動的方法Dynamic Collections
sui::bag實作 Bag 型別以及與其互動的方法Dynamic Collections
sui::object_table實作 ObjectTable 型別以及與其互動的方法Dynamic Collections
sui::object_bag實作 ObjectBag 型別以及與其互動的方法Dynamic Collections

代幣與資產 (Coins and Assets)

ModuleDescriptionChapter
sui::balanceBalance 型別 —— 價值的底層儲存方式Balance and Coin
sui::coinCoin 型別 —— 可轉移的同質化資產Balance and Coin
sui::suiSUI 代幣型別Balance and Coin
sui::pay用於拆分與合併代幣的輔助函式-
sui::deny_list用於受監管代幣型別的拒絕清單-
sui::token封閉迴路(closed-loop)代幣標準-

實用工具 (Utilities)

ModuleDescriptionChapter
sui::bcs實作 BCS 編碼與解碼函式Binary Canonical Serialization
sui::borrow實作以 value 方式借用的借用機制Hot Potato
sui::hex實作十六進位編碼與解碼函式-
sui::randomRandom 物件與安全的鏈上隨機性Randomness
sui::types提供檢查型別是否為 One-Time-Witness 的方式One Time Witness

該框架也包含本書未涵蓋的模組:商業原語 (sui::kiosksui::transfer_policy)、一組 密碼學函式(sui::hashsui::ed25519sui::bls12381 等等),以及一些 輔助工具,例如 sui::urlsui::versioned。完整清單請參閱 框架文件

匯出地址 (Exported Addresses)

Sui Framework 匯出了兩個具名地址:sui = 0x2,以及來自 std 依賴的 std = 0x1

隱式匯入 (Implicit Imports)

就像 Standard Library 一樣,Sui Framework 中 有些模組與型別會被隱式匯入。以下是不需明確 use 匯入即可使用的模組與 型別清單:

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

原始碼 (Source Code)

Sui Framework 的原始碼可在 Sui repository 中取得。