SuiQuest is an educational platform that teaches Sui Move blockchain development through fun, interactive games. Each game covers different Move concepts, from basic objects to advanced randomness.
🌐 Live Demo: suiquest.efeecllk.com
| Game | Move Concepts | Description |
|---|---|---|
| Sui Pet 🐾 | Objects, Ownership, Mutable References | Raise your on-chain virtual pet |
| Sui Bank 🏦 | Coin, Balance, Transfer | DeFi simulator for token operations |
| Card Battle ⚔️ | Dynamic NFT, Vector, Object Wrapping | Pokemon-style NFT card battles |
| 10.00s Challenge ⏱️ | Shared Objects, Events, Clock | Stop timer at exactly 10 seconds |
suiquest/
├── move/ # Sui Move smart contracts
│ └── sources/
│ ├── game.move # 10-Second Challenge + Leaderboard
│ ├── sui_pet.move # Virtual Pet game
│ ├── sui_bank.move # Bank/DeFi simulator
│ └── card_battle.move # NFT Card Battle game
│
└── frontend/ # React + TypeScript dApp
└── src/
├── pages/
│ ├── Home.tsx # Landing page with game cards
│ ├── SuiPet.tsx # Pet game UI
│ ├── SuiBank.tsx # Bank game UI
│ ├── CardBattle.tsx # Card battle UI
│ └── TenSecondChallenge.tsx
└── config.ts # Package IDs & network config
cd move
sui move build
sui move test
sui client publish --gas-budget 100000000Save the package ID from the output.
Create frontend/.env.local:
VITE_PACKAGE_ID=<your_package_id>
VITE_SUI_NETWORK=testnetcd frontend
npm install
npm run devWe recommend following this order:
- Sui Pet → Objects, Ownership,
&mutreferences - Sui Bank →
Coin<SUI>vsBalance<SUI>, transfers - Card Battle → Dynamic NFTs, vectors, object wrapping
- 10.00s Challenge → Shared objects, events,
Clock
- 🎮 4+ Interactive Games - Learn by doing, not reading
- 📖 Built-in Explanations - Every action has a tutorial sidebar
- ⛓️ 100% On-Chain - Real blockchain transactions on Sui Testnet
- 🎨 Modern UI - Cyberpunk/neon aesthetic with animations
- 💅 Responsive Design - Works on desktop and mobile
- Blockchain: Sui Network (Testnet)
- Smart Contracts: Move Language
- Frontend: React + TypeScript + Vite
- Wallet: Sui dApp Kit
- Styling: CSS with glassmorphism effects
Each game module includes:
- Detailed code comments explaining Move concepts
- Interactive tutorial sidebar in the frontend
- Step-by-step explanations of blockchain operations
| Concept | Game(s) |
|---|---|
Object Model (has key, store) |
Sui Pet, Card Battle |
| Ownership & Transfer | All games |
Mutable References (&mut) |
Sui Pet, Card Battle |
Coin<T> vs Balance<T> |
Sui Bank |
| Shared Objects | 10.00s Challenge |
Events (event::emit) |
10.00s Challenge |
| Clock Object | 10.00s Challenge |
| Vectors | Card Battle |
| Dynamic NFTs | Card Battle |
| Object Wrapping | Card Battle |
The frontend is deployed on Vercel:
cd frontend
npm run build
npx vercel --prodMIT License - feel free to use this for educational purposes!
Built with 💙 for the Sui Community
