Complete Sui Move workshop: Counter dApp, Fungible Token, and NFT. Fullstack with smart contracts + React frontend
Last updated Jun 28, 2026
17
Stars
9
Forks
0
Issues
0
Stars/day
Attention Score
34
Language breakdown
TypeScript 64.6%
Move 18.9%
CSS 12.7%
JavaScript 2.4%
HTML 1.3%
โธ Files
click to expand
README
๐ง Sui Move Workshop - Batch 3
Workshop lengkap untuk belajar Sui Move development dari dasar hingga membuat fullstack dApp (smart contract + frontend).
๐ Table of Contents
- Overview
- Prerequisites
- Workshop Structure
- Quick Start
- Day 1: Counter dApp
- Day 2: Coin (Fungible Token)
- Day 3: NFT (Non-Fungible Token)
- Resources
๐ฏ Overview
Workshop ini berisi:
- โ Sui Move fundamentals - Syntax, structs, functions, abilities
- โ Smart contract patterns - Counter, Coin (Fungible Token), NFT (Non-Fungible Token)
- โ Testing - Unit tests dengan test scenarios
- โ Deployment - Deploy ke Sui testnet
- โ Frontend integration - React + TypeScript + Sui SDK
- โ Best practices - Clean code, error handling, documentation
- Developers yang ingin belajar blockchain
- Familiar dengan programming (any language)
- Bonus jika tau TypeScript/React (untuk UI)
๐ Prerequisites
WAJIB: Setup Environment Dulu!
Sebelum mulai Day 1, WAJIB ikuti setup di:
๐ INSTALLATION.md
Checklist yang harus selesai:
- โ Rust terinstall
- โ
Sui CLI terinstall (
sui --version) - โ Sui Wallet extension terinstall di browser
- โ Wallet setup & punya testnet SUI (via faucet)
- โ Bun atau Node.js terinstall (untuk frontend)
๐๏ธ Workshop Structure
sui-workshop-batch-3/
โโโ INSTALLATION.md # โ ๏ธ MULAI DARI SINI!
โโโ README.md # ๐ File ini
โโโ day1/ # ๐ Day 1: Counter dApp
โ โโโ counter/
โ โโโ contract/ # Smart contract
โ โ โโโ sources/
โ โ โโโ tests/
โ โ โโโ Move.toml
โ โโโ ui/ # React frontend
โ โ โโโ src/
โ โ โโโ .env.example
โ โ โโโ package.json
โ โโโ README.md # Tutorial lengkap
โ
โโโ day2/ # ๐ Day 2: Coin (Fungible Token)
โ โโโ coin/
โ โโโ contract/
โ โ โโโ sources/coin.move
โ โ โโโ tests/coin_tests.move
โ โ โโโ Move.toml
โ โโโ ui/
โ โ โโโ src/
โ โ โโโ .env.example
โ โ โโโ README.md
โ โโโ README.md
โ
โโโ day3/ # ๐ Day 3: NFT (Non-Fungible Token)
โโโ nft/
โโโ contract/
โ โโโ sources/nft.move
โ โโโ tests/nft_tests.move
โ โโโ Move.toml
โโโ ui/
โ โโโ src/
โ โโโ .env.example
โ โโโ README.md
โโโ README.md
๐ Quick Start
Path untuk Self-Learning:
# 1. Setup environment
Baca & ikuti: INSTALLATION.md (30-60 menit)
2. Day 1 - Counter dApp
cd day1/counter
Baca: README.md
Build contract โ Deploy โ Build UI
3. Day 2 - Coin Module
cd ../../day2/coin
Baca: README.md (contract)
Build โ Deploy โ Setup UI (baca ui/README.md)
4. Day 3 - NFT Module
cd ../../day3/nft
Baca: README.md (contract)
Build โ Deploy โ Setup UI (baca ui/README.md)
๐ Day 1: Counter dApp
What You'll Build:
Fullstack dApp sederhana dengan:- Smart contract untuk increment/decrement counter
- React UI untuk interact dengan contract
- Event system untuk tracking changes
Learning Objectives:
- โ Sui Move basics (struct, functions, abilities)
- โ
Mutable references (
&mut) - โ Events & error handling
- โ Deploy contract ke testnet
- โ
Frontend integration dengan
@mysten/dapp-kit - โ Custom React hooks untuk blockchain
Key Files:
day1/counter/contract/sources/counter.move(61 lines)day1/counter/ui/src/App.tsxday1/counter/README.md(1095 lines - tutorial lengkap)
Start Here:
๐ day1/counter/README.md๐ Day 2: Coin (Fungible Token)
What You'll Build: Custom cryptocurrency dengan:
- Metadata (symbol, name, decimals, icon)
- Mint & burn functionality
- TreasuryCap untuk control supply
- UI untuk mint/burn operations
- โ One-Time Witness (OTW) pattern
- โ
coin::create_currencystandard - โ TreasuryCap capabilities
- โ Coin object model (split/merge)
day2/coin/contract/sources/coin.move(45 lines)day2/coin/ui/src/app/HomePage.tsx(218 lines)day2/coin/README.md(691 lines)day2/coin/ui/README.md(310 lines)
๐ Day 3: NFT (Non-Fungible Token)
What You'll Build: NFT platform dengan:
- Rich metadata (name, description, image, creator)
- Display standard untuk wallet integration
- Mint & burn functionality
- Gallery UI dengan image preview
- โ Display standard implementation
- โ Publisher capabilities
- โ Unique object model
- โ NFT metadata best practices
- โ Image URL handling
day3/nft/contract/sources/nft.move(90 lines)day3/nft/ui/src/app/HomePage.tsx(282 lines)day3/nft/README.md(480 lines)day3/nft/ui/README.md(257 lines)
๐ Resources
Official Docs:
- Sui Documentation: https://docs.sui.io
- Sui Move Book: https://move-book.com/
- dApp Kit: https://sdk.mystenlabs.com/dapp-kit
- TypeScript SDK: https://sdk.mystenlabs.com/typescript
Tools:
- Explorer (Testnet): https://suiscan.xyz/testnet
- Faucet: https://faucet.testnet.sui.io
- Discord: https://discord.gg/sui
Image Resources (for NFTs):
- Picsum Photos: https://picsum.photos
- Pinata IPFS: https://pinata.cloud
๐ค Contributing
Found typo atau ada improvement ideas?
- Create issue atau PR di GitHub
Ready to start? ๐
๐ Begin with INSTALLATION.md
Happy Building on Sui! ๐
๐ More in this category