Sui Framework 框架 (Sui Framework)
Sui Framework 是 套件清單中的一組預設依賴項。它 依賴標準函式庫,並提供 Sui 專屬的 功能:儲存操作、原生型別,以及本章其餘內容所建構於其上的模組。
為了方便起見,我們將 Sui Framework 中的模組分成多個類別。但它們仍然 屬於同一個框架。
核心 (Core)
| 模組 | 說明 | 章節 |
|---|---|---|
| sui::address | 為address 型別新增轉換方法 | 地址 |
| sui::transfer | 實作物件的儲存操作 | 儲存函式 |
| sui::tx_context | 包含 TxContext 結構與讀取它的方法 | 交易情境 |
| sui::object | 定義建立物件所需的 UID 與 ID 型別 | UID 與 ID |
| sui::derived_object | 允許透過金鑰衍生產生 UID | UID 衍生 |
| sui::clock | 定義 Clock 型別及其方法 | Epoch 與時間 |
| sui::dynamic_field | 實作新增、使用及移除動態欄位的方法 | 動態欄位 |
| sui::dynamic_object_field | 實作新增、使用及移除動態物件欄位的方法 | 動態物件欄位 |
| sui::event | 允許為鏈下監聽器發出事件 | 事件 |
| sui::package | 定義 Publisher 型別與套件升級方法 | 發布者 |
| sui::display | 實作 Display 物件及建立與更新它的方式 | 顯示 |
集合 (Collections)
| 模組 | 說明 | 章節 |
|---|---|---|
| sui::vec_set | 實作集合型別 | 集合 |
| sui::vec_map | 實作具有向量金鑰的映射 | 集合 |
| sui::table | 實作 Table 型別及與其互動的方法 | 動態集合 |
| sui::linked_table | 實作 LinkedTable 型別及與其互動的方法 | 動態集合 |
| sui::bag | 實作 Bag 型別及與其互動的方法 | 動態集合 |
| sui::object_table | 實作 ObjectTable 型別及與其互動的方法 | 動態集合 |
| sui::object_bag | 實作 ObjectBag 型別及與其互動的方法 | 動態集合 |
代幣與資產 (Coins and Assets)
| 模組 | 說明 | 章節 |
|---|---|---|
| sui::balance | Balance 型別 — 價值的底層儲存體 | Balance 與 Coin |
| sui::coin | Coin 型別 — 可轉移的可替代資產 | Balance 與 Coin |
| sui::sui | SUI 代幣型別 | Balance 與 Coin |
| sui::pay | 用於分割及合併代幣的輔助函式 | - |
| sui::deny_list | 受監管代幣型別的拒絕清單 | - |
| sui::token | 封閉迴路代幣標準 | - |
工具程式 (Utilities)
| 模組 | 說明 | 章節 |
|---|---|---|
| sui::bcs | 實作 BCS 編碼與解碼函式 | 二進位標準序列化 |
| sui::borrow | 實作依 值 借用的借用機制 | 燙手山芋 |
| sui::hex | 實作十六進位編碼與解碼函式 | - |
| sui::random | Random 物件與安全的鏈上隨機性 | 隨機性 |
| sui::types | 提供檢查型別是否為 One-Time-Witness 的方式 | 一次性見證 |
此框架也包含本書未涵蓋的模組:商務基元 (sui::kiosk, sui::transfer_policy)、一組 密碼學函式(sui::hash、 sui::ed25519、 sui::bls12381及其他),以及各種 工具程式,例如 sui::url 和 sui::versioned。如需完整清單,請參考 框架文件。
匯出的地址 (Exported Addresses)
Sui Framework 從 std 依賴項匯出兩個具名地址:sui = 0x2 與 std = 0x1。
隱含匯入 (Implicit Imports)
如同標準函式庫,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 儲存庫取得。