Назад към всички

sui-move

// Sui blockchain and Move smart contract development. Use when the user asks about Sui, Move language, smart contracts, objects, transactions, or blockchain development on Sui.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namesui-move
descriptionSui blockchain and Move smart contract development. Use when the user asks about Sui, Move language, smart contracts, objects, transactions, or blockchain development on Sui.
version1.1.0
metadata[object Object]

Sui Move Development

Comprehensive knowledge base for Sui blockchain and Move smart contract development.

GitHub: https://github.com/EasonC13-agent/sui-skills/tree/main/sui-move

Setup References

Clone the official documentation:

# Create skill directory
mkdir -p {baseDir}/references && cd {baseDir}/references

# Clone Move Book (The Move Language Bible)
git clone --depth 1 https://github.com/MystenLabs/move-book.git

# Clone Sui docs (sparse checkout)
git clone --depth 1 --filter=blob:none --sparse https://github.com/MystenLabs/sui.git
cd sui && git sparse-checkout set docs

# Clone Awesome Move (curated examples and resources)
# Note: Some code examples may be outdated
git clone --depth 1 https://github.com/MystenLabs/awesome-move.git

Additional Resources

Awesome Move (references/awesome-move/)

A curated list of Move resources, including:

  • Example projects and code snippets
  • Libraries and frameworks
  • Tools and utilities
  • Learning resources

⚠️ Note: Some code examples in awesome-move may be outdated as the Move language and Sui platform evolve. Always verify against the latest Move Book and Sui documentation.

Reference Structure

Move Book (references/move-book/book/)

DirectoryContent
your-first-move/Hello World, Hello Sui tutorials
move-basics/Variables, functions, structs, abilities, generics
concepts/Packages, manifest, addresses, dependencies
storage/Object storage, UID, transfer functions
object/Object model, ownership, dynamic fields
programmability/Events, witness, publisher, display
move-advanced/BCS, PTB, cryptography
guides/Testing, debugging, upgrades, BCS
appendix/Glossary, reserved addresses

Sui Docs (references/sui/docs/content/)

  • Concepts, guides, standards, references

Quick Search

# Search Move Book for a topic
rg -i "keyword" {baseDir}/references/move-book/book/ --type md

# Search Sui docs
rg -i "keyword" {baseDir}/references/sui/docs/ --type md

# Find all files about a topic
find {baseDir}/references -name "*.md" | xargs grep -l "topic"

Key Concepts

Move Language Basics

Abilities - Type capabilities:

  • copy - Can be copied
  • drop - Can be dropped (destroyed)
  • store - Can be stored in objects
  • key - Can be used as a key in global storage (objects)
public struct MyStruct has key, store {
    id: UID,
    value: u64
}

Object Model:

  • Every object has a unique UID
  • Objects can be owned (address), shared, or immutable
  • Transfer functions: transfer::transfer, transfer::share_object, transfer::freeze_object

Common Patterns

Create and Transfer Object:

public fun create(ctx: &mut TxContext) {
    let obj = MyObject {
        id: object::new(ctx),
        value: 0
    };
    transfer::transfer(obj, tx_context::sender(ctx));
}

Shared Object:

public fun create_shared(ctx: &mut TxContext) {
    let obj = SharedObject {
        id: object::new(ctx),
        counter: 0
    };
    transfer::share_object(obj);
}

Entry Functions:

public entry fun do_something(obj: &mut MyObject, value: u64) {
    obj.value = value;
}

CLI Commands

# Create new project
sui move new my_project

# Build
sui move build

# Test
sui move test

# Publish
sui client publish --gas-budget 100000000

# Call function
sui client call --package <PACKAGE_ID> --module <MODULE> --function <FUNCTION> --args <ARGS>

# Get object
sui client object <OBJECT_ID>

Workflow

When answering Sui/Move questions:

  1. Search references first:

    rg -i "topic" {baseDir}/references/move-book/book/ -l
    
  2. Read relevant files:

    cat {baseDir}/references/move-book/book/<path>/<file>.md
    
  3. Provide code examples from the references

  4. Link to official docs when helpful:

Topics Index

TopicLocation
Hello Worldmove-book/book/your-first-move/hello-world.md
Hello Suimove-book/book/your-first-move/hello-sui.md
Primitivesmove-book/book/move-basics/primitive-types.md
Structsmove-book/book/move-basics/struct.md
Abilitiesmove-book/book/move-basics/abilities-introduction.md
Genericsmove-book/book/move-basics/generics.md
Object Modelmove-book/book/object/
Storagemove-book/book/storage/
Eventsmove-book/book/programmability/events.md
Testingmove-book/book/guides/testing.md
Upgradesmove-book/book/guides/upgradeability.md
PTBmove-book/book/move-advanced/ptb/
BCSmove-book/book/move-advanced/bcs.md

Related Skills

This skill is part of the Sui development skill suite:

SkillDescription
sui-decompileFetch and read on-chain contract source code
sui-moveWrite and deploy Move smart contracts
sui-coverageAnalyze test coverage with security analysis
sui-agent-walletBuild and test DApps frontend

Workflow:

sui-decompile → sui-move → sui-coverage → sui-agent-wallet
    Study        Write      Test & Audit   Build DApps

All skills: https://github.com/EasonC13-agent/sui-skills

Notes

  • Move 2024 edition introduces new features (enums, method syntax, etc.)
  • Sui uses a unique object-centric model different from other blockchains
  • Gas is paid in SUI tokens
  • Testnet/Devnet available for development