Each module includes a hands-on project with code examples demonstrating specific Move and Sui functionalities.
The main branch provides a scaffolded project with an unfinished version of the code, allowing learners to implement the missing parts as they progress through the lessons.
For each module X, there is a corresponding X-solution branch that contains the fully completed version of the project source code.
This approach encourages interactive learning, enabling students to experiment, debug, and understand the development process step by step before reviewing the final implementation. 🚀
- A1: Introduction to Decentralized Ledgers and Smart-Contracts
- A2: Description of the Sui ecosystem (Walrus, Enoki, Deepbook)
- A3: Intro to Sui & Move, Validators vs Fullnodes - Sui Infra
- A4: Creating a Sui Wallet from CLI and First Smart Contract
- B1: Packages, Modules, Move Compiler, and Objects
- B2: Numeric Types, Strings, and Pure Arguments
- B3: Copy ability, Events, Key/Store abilities, and Parameter Types
- D1: Sui Client initialization and Fullnode restrictions
- D2: Reading Objects from chain and Dynamic Fields
- D3: Paginated Reads
- D4: Transaction submission, Balance Changes, and Gas Profiling
- G1: Custom initializers and Test Transactions
- G2: Collections and Data Structures (Vector, ID, UID, VecMap, Bag, Option)
- G3: Dynamic Fields and Tables
- H1: Upgrade preconditions and Versioned Shared Objects
- H2: Advanced Patterns (Capability with Properties, Witness Pattern, Hot Potato)
- H3: General Security Concerns
- H4: Common vulnerability patterns
- I1: Creating Custom Coins and Coin Metadata
- I2: Treasury Cap Handling
- I3: Closed Loop Tokens
- I4: Kiosk
- I5: Customs Rules & Transfer Policies
- J1: Setting up and customizing an Indexer
- J2: Integrating Indexer in a DApp
- J3: Using Prometheus and Grafana for Monitoring
Each module contains detailed lessons, code examples, and exercises to help you master Sui development and Move programming. Start exploring by clicking on any module above!