Skip to main content

What You’ll Build

In this quickstart, you’ll:
  • Install Sui CLI and tools
  • Create your first Move package
  • Write a simple smart contract
  • Deploy to Sui devnet
  • Interact with your contract
This tutorial takes approximately 10 minutes to complete.

Prerequisites

  • Linux (Ubuntu 20.04+)
  • macOS (12+)
  • Windows (via WSL2)
  • Rust 1.75.0 or later
  • Git for version control
  • curl for downloading tools

Step 1: Install Sui

1

Install Rust

If you don’t have Rust installed:
2

Install Sui CLI

Install Sui from the main branch:
This takes 5-10 minutes to compile.
For faster installation, download pre-built binaries from the releases page.
3

Verify Installation

Expected output: sui 1.68.0 or later
4

Configure Sui Client

Initialize your Sui configuration:
This creates a new keypair and connects to devnet by default.
5

Get Test Tokens

Request SUI tokens from the devnet faucet:
Wait ~10 seconds, then verify:

Step 2: Create Your First Move Package

1

Initialize New Package

This creates a new Move package with this structure:
2

Write Your Smart Contract

Open sources/hello_world.move and replace with:
3

Build the Package

If successful, you’ll see:

Step 3: Deploy to Devnet

1

Publish the Package

The gas budget (0.1 SUI) covers the cost of publishing the package.
2

Save Package ID

After publishing, you’ll see output like:
Save this PackageID - you’ll need it to interact with your contract!

Step 4: Interact with Your Contract

1

Call the Create Function

Replace PACKAGE_ID with your actual package ID:
2

Find the Object ID

The transaction will create a new HelloWorld object. Look for:
Save this ObjectID.
3

Update the Message

Update the message in your object:
4

Verify the Update

Query your object to see the updated message:
You’ll see the object data including your message!

What You’ve Learned

Move Basics

  • Module structure
  • Object definitions
  • Public functions
  • Shared objects

Sui CLI

  • Build Move packages
  • Publish to network
  • Call smart contract functions
  • Query objects

Object Model

  • Creating objects with UID
  • Sharing objects
  • Mutating object state

Gas & Transactions

  • Gas budgets
  • Transaction submission
  • Object updates

Next Steps

Learn Move

Deep dive into Move programming

Build an NFT

Create and mint your first NFT

Explore Examples

Learn from complete code examples

Use SDKs

Integrate with TypeScript or Rust

Troubleshooting

Ensure you’re in the package directory:
Try the web faucet: https://faucet.devnet.sui.io/Or switch environments:
Increase the gas budget:
Or get more test tokens from the faucet.
Add Cargo bin to PATH:

Get Help

Documentation

Browse the full documentation

Discord Community

Ask questions and get help

GitHub

Explore the source code

Examples

Learn from code examples