rifuki
sui-workshop-batch-3
TypeScript

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

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
Target Audience:
  • 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)
โš ๏ธ PENTING: Installation bisa memakan waktu 30-60 menit. Jangan skip!


๐Ÿ—‚๏ธ 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.tsx
  • day1/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
Learning Objectives:
  • โœ… One-Time Witness (OTW) pattern
  • โœ… coin::create_currency standard
  • โœ… TreasuryCap capabilities
  • โœ… Coin object model (split/merge)
Key Files:
  • 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)
Start Here: ๐Ÿ“– day2/coin/README.md


๐Ÿ“™ 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
Learning Objectives:
  • โœ… Display standard implementation
  • โœ… Publisher capabilities
  • โœ… Unique object model
  • โœ… NFT metadata best practices
  • โœ… Image URL handling
Key Files:
  • 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)
Start Here: ๐Ÿ“– day3/nft/README.md


๐Ÿ“š 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

ยฉ 2026 GitRepoTrend ยท rifuki/sui-workshop-batch-3 ยท Updated daily from GitHub