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
Operating System
Operating System
- Linux (Ubuntu 20.04+)
- macOS (12+)
- Windows (via WSL2)
Required Software
Required Software
- 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.
3
Verify Installation
sui 1.68.0 or later4
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
2
Write Your Smart Contract
Open
sources/hello_world.move and replace with:3
Build the Package
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 Save this ObjectID.
HelloWorld object. Look for: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
Build fails with 'package not found'
Build fails with 'package not found'
Ensure you’re in the package directory:
Faucet request fails
Faucet request fails
Publish fails with 'InsufficientGas'
Publish fails with 'InsufficientGas'
Increase the gas budget:Or get more test tokens from the faucet.
Command not found: sui
Command not found: sui
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