← Theory library
Sui Move theory
Object-centric Move 2024, PTBs, Kiosks, and Dynamic Fields.
Practise in the Code Lab →Easy
- 1. Introduction to Sui MoveObject-centric architecture and parallel execution.
- 2. Struct Abilities (key, store, copy, drop)Move's four fundamental typing abilities.
- 3. Object Ownership ModelsAddress-owned, Shared, Immutable, and Wrapped objects.
- 4. The UID & TxContextGenerating globally unique identifiers.
- 5. Function Visibility: public, entry, and privateControlling invocation boundaries in Move.
- 6. The init FunctionOne-time package initialization on deployment.
- 23. Sui Events (sui::event::emit)Emitting off-chain log streams.
Medium
- 7. Move 2024: Method Syntax (use fun)Modern object-oriented calling syntax.
- 8. Move 2024: Macro Functions & LambdasHigher-order collection transformations (map!, for_each!).
- 9. Move 2024: Enums and Pattern MatchingSum types and exhaustive match branching.
- 10. Move 2024: Positional Struct Fields & Loop LabelsTuple structs and labelled loop breaks with values.
- 11. Capability Design PatternToken-based access control and administrative rights.
- 12. One-Time Witness (OTW)Guaranteeing singleton module initialization.
- 13. Creating Coins (sui::coin::create_currency)Fungible tokens and Treasury Capabilities.
- 14. Splitting and Merging Coinssui::coin::split and sui::coin::join.
- 17. Transfer Functions: transfer vs public_transferRestricting transferability with store ability.
- 20. Programmable Transaction Blocks (PTBs)Composing up to 1,024 commands in one atomic transaction.
- 22. Sui Testing: sui::test_scenarioSimulating multi-transaction scenarios in Move.
Hard
- 15. Dynamic FieldsAttaching arbitrary heterogeneous data to objects dynamically.
- 16. Dynamic Object Fields (DOFs)Nesting objects while preserving top-level ID indexing.
- 18. Sui Kiosk StandardEnforcing NFT trading policies, royalties, and locks.
- 19. Hot Potato PatternGuaranteed transaction completion and flash loans.
- 21. sui::table and sui::bagScalable heterogeneous on-chain collections.
- 24. Upgrading Packages on SuiUpgradeCap and immutable package versioning.
- 25. Capstone: Building a Complete Sui ProtocolPutting all Sui Move concepts together.