Skip to content

Repository files navigation

Sui Rust Blockchain Course (201-JVM)

📌 Course Overview

Welcome to the Rust-Based Sui Blockchain Course! This course will teach you how to build Sui blockchain applications using Rust, replacing Node.js dependencies, and ensuring ISO and IEEE compliance.

🎯 Course Objectives

By the end of this course, you will:

  • Understand Java vs JavaScript vs Rust vs Move.
  • Learn why blockchain projects depend on Node.js and how to replace it.
  • Deploy Move smart contracts on Sui using Rust instead of TypeScript.
  • Build Rust-based APIs for blockchain interaction (Axum, Actix-web).
  • Create WASM-based dApps using Yew instead of React.
  • Deploy a full Sui blockchain application without Node.js.

📂 Repository Structure

201-jvm/
│── README.md # Course Overview & Getting Started Guide
│── Module-1/ # Introduction to Rust & Move
│ ├── Lesson-1.1/ │ │ ├── intro_rust.md # Java vs JavaScript vs Rust Explanation
│ │ ├── rust_setup.md # Installing Rust & Sui CLI
│ │ ├── exercises/ │ │ │ ├── hello_sui.rs # First Rust program
│ │ │ ├── move_basics.move # Simple Move contract
│── Module-2/ # JVM & GraalVM for JavaScript Execution
│── Module-3/ # Sui SDKs Without Node.js
│── Module-4/ # Move Smart Contracts with Rust
│── Module-5/ # Rust-Based Sui APIs (Axum)
│── Module-6/ # Yew for Sui dApps (No React)
│── Final-Project/ # Full Sui Rust dApp Deployment
│── solutions/ # Code Solutions for Exercises
│── CONTRIBUTING.md # Guidelines for Contributions
│── LICENSE # Open-source license
│── .github/ # GitHub Actions & Issue Templates
│ ├── workflows/
│ │ ├── rust-ci.yml # Automated testing for Rust & Move
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md # Bug reporting template
│ │ ├── feature_request.md # Feature request template
│ ├── DISCUSSIONS.md # Guidelines for GitHub Discussions
│── docs/ # GitHub Pages Documentation
│ ├── index.md # Main landing page for GitHub Pages
│ ├── setup.md # Environment setup guide
│ ├── modules/ # Structured modules for web navigation

📝 Module 1: Introduction to Rust & Move

Lesson 1.1: Java vs JavaScript vs Rust vs Move

  • 📖 Concept: Why Rust & Move are ideal for blockchain
  • 🛠 Hands-On: Install Rust, Sui CLI, and create your first Rust program
  • 📝 Quiz: Key differences between JavaScript, Rust, and Move

Lesson 1.2: Move Basics

  • 📖 Concept: Move Language Fundamentals (Resources, Modules, Transactions)
  • 🛠 Hands-On: Create & deploy a simple Move smart contract on Sui
  • 📝 Quiz: Understanding Move’s security model

📝 Module 2: JVM, GraalVM, and JavaScript Execution Without Node.js

Lesson 2.1: JVM vs Node.js

  • 📖 Concept: How JVM executes Java vs how Node.js runs JavaScript
  • 🛠 Hands-On: Install GraalVM & run JavaScript inside Java
  • 📝 Quiz: JVM vs Node.js runtime differences

📝 Module 3: Why Sui Blockchain SDKs Depend on Node.js

Lesson 3.1: Sui SDKs Without Node.js

  • 📖 Concept: Why sui.js depends on Node.js & Rust-based alternatives
  • 🛠 Hands-On: Install sui-sdk-rs and interact with Sui blockchain using Rust
  • 📝 Quiz: Why replace sui.js with Rust?

📝 Module 4: Replacing Node.js in Move Smart Contract Development

Lesson 4.1: Deploying Move Contracts With Rust

  • 📖 Concept: Deploying Move contracts with cargo-move
  • 🛠 Hands-On: Deploy a Move contract using Rust instead of sui.js
  • 📝 Quiz: Understanding cargo-move vs sui.js

📝 Module 5: Rust-Based APIs for Sui Blockchain

Lesson 5.1: Building an Axum API for Sui Transactions

  • 📖 Concept: Express.js alternative in Rust (Axum, Actix-web)
  • 🛠 Hands-On: Build a Rust-based API to fetch blockchain data
  • 📝 Quiz: Why is Rust better for blockchain backends?

📝 Module 6: Deploying WASM-Based Sui dApps With Yew

Lesson 6.1: Replacing React with Yew (Rust)

  • 📖 Concept: Why Yew is better than React for blockchain dApps
  • 🛠 Hands-On: Build a frontend using Yew + WASM
  • 📝 Quiz: What are the advantages of Rust-based frontends?

🚀 Final Project: Full Sui Blockchain App Without Node.js

✅ Deploy a Move smart contract using Rust tools ✅ Build a Rust API instead of Express.js ✅ Create a Yew frontend instead of React ✅ Deploy the full system without Node.js


📚 Suggested Reading

  1. The Rust Programming Language
  2. Sui Developer Docs
  3. Move Programming Language
  4. GraalVM Polyglot Docs
  5. Rust for Blockchain Developers

About

step-by-step tutorials, hands-on exercises, quizzes, and code samples

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages