Challenge 1: Simple TODO List (Easy)
Problem Statement
Create a personal TODO list where users can add tasks, mark them as complete, and delete them. Each user owns their own TODO list object.
Requirements
- Create a TODO list object for each user
- Add tasks with title and description
- Mark tasks as complete/incomplete
- Delete tasks
- Each task has a unique ID within the list
Key Concepts to Implement
- Owned objects
- Vector manipulation
- Struct definitions
- Object transfers
Starter Code Structure

Expected Output
- User creates their own TODO list
- Can add multiple tasks
- Can mark tasks complete
- Can delete tasks
Test Cases to Implement
- Create list and add task
- Complete a task
- Delete a task
- Add multiple tasks and verify count
Challenge 2: Digital Guestbook (Easy) Problem Statement
Build a shared guestbook where anyone can leave a message. Messages are stored on-chain and cannot be edited or deleted once posted.
Requirements
- Create a shared guestbook object
- Users can post messages with their name and message content ● Each message includes timestamp
- Messages are immutable once posted
- Display all messages
Key Concepts to Implement
- Shared objects
- Vector of structs
- Timestamp handling
- Public entry functions
Starter Code Structure

Expected Output
- Anyone can post messages to the shared guestbook
- Messages include name, content, and timestamp
- All messages are visible and immutable
Test Cases to Implement
- Post a message
- Post multiple messages from different users
- Read messages back
- Verify message count
Submission Guidelines
What to Submit
- Complete Move module implementation for your chosen challenge(s) 2. Move.toml file with dependencies:
toml
None
[package]
name = "your_challenge_name"
version = "0.0.1"
[dependencies]
Sui = { git = "https://github.com/MystenLabs/sui.git", subdir = "crates/sui-framework/packages/sui-framework", rev = "framework/testnet" }
[addresses]
your_module = "0x0"
- Basic tests showing your module works
- README.md explaining how to build and test
How to Test Locally
bash
Shell
# Build your module
sui move build
# Run tests
sui move test
# Publish to testnet (optional)
sui client publish --gas-budget 100000000
Evaluation Criteria
- Completeness : All required functions implemented
- Correctness : Code compiles and works as expected
- Code Quality : Clean, readable code with comments with atleast 4 commits.
- Submissions: Code should be deployed to testnet and should share the package ID with valid test results
○ Need to share the published packaged id in discord
(https://discord.com/invite/sQEkBSZbd7)
Tips
- Start with the struct definitions
- Implement one function at a time
- Use sui move test frequently to check your work
- Add assert! statements for validation
- Check the Sui examples repo for reference
Resources
Good luck!
Where to Submit
Repositories: