Join our
Discord!
LogoLogo
SupraScan ExplorerStarKey WalletDiscord
MoveVM
  • Network
  • Oracles
  • Automation
  • SupraNova
  • Guides
MoveVM
  • Overview
  • Getting Started
    • Install Supra CLI with Docker
    • Create a Supra Account
    • Create a Move Package
      • Initialize a Package
      • Write a Module
      • Compile and Publish
      • Interact with a Package
    • Create a dApp with StarKey
  • Network Information
  • Token Standards
  • Learn Move 101
    • Getting Started with Move
    • Unsigned Integers in Move
    • Math Operations in Move
    • Using Vectors in Move
    • Reading Resource Data with borrow_global
    • Passing Data in Move: Value vs. Reference
    • Adding Elements with vector::push_back
    • Emitting Events with event::emit
  • Move Book
    • Getting Started
      • Modules and Scripts
      • Move Tutorial
    • Primitive Types
      • Integers
      • Bool
      • Address
      • Vector
      • Signer
      • References
      • Tuples and Unit
    • Basic Concepts
      • Local Variables and Scope
      • Equality
      • Abort and Assert
      • Conditionals
      • While, For, and Loop
      • Functions
      • Structs and Resources
      • Constants
      • Generics
      • Type Abilities
      • Uses and Aliases
      • Friends
      • Packages
      • Package Upgrades
      • Unit Tests
    • Global Storage
      • Structure
      • Operators
    • Reference
      • Standard Library
      • Coding Conventions
  • TypeScript SDK
    • Guides
      • Create Supra Accounts
      • Publish a Package
    • Documentation
    • Repository
  • Rest API
    • Mainnet
      • Accounts
      • Faucet
      • Transactions
      • Block
      • View
      • Consensus
      • Events
      • Tables
    • Testnet
      • Accounts
      • Faucet
      • Transactions
      • Block
      • View
      • Events
      • Tables
  • Developer Resources
    • Supra Dapp Templates
    • Supra Move VS Code Extension
  • Links
    • Supra DevHub
    • SupraScan Block Explorer
    • StarKey Wallet
    • Live Data Feeds
    • Whitepapers
    • Security Audits
    • Supra's Official GitHub
Powered by GitBook
On this page
Edit on GitHub

Learn Move 101

Want to learn Move with real examples? Start building today!

PreviousToken StandardsNextGetting Started with Move

Here you'll find hands-on Move examples covering smart contracts, asset management, and on-chain logic. Learn by doing with clear, practical guides.

Getting Started with Move >

Learn Move with step-by-step example—building a strong foundation for smart contract development on Move.

Unsigned Integers in Move >

Learn how Move's unsigned integers affect storage, performance, and gas efficiency.

Math Operations in Move >

Move supports basic math operations with integer precision, requiring typecasting for different unsigned integer types.

Using Vectors in Move >

Vectors in Move are dynamic lists that adjust in size, ideal for managing data collections, including structs.

Reading Resource Data with borrow_global >

borrow_global reads a resource struct from a specific address without a signer, but the function must declare acquires ResourceName.

Pass-by-Value vs. Pass-by-Reference >

Move uses pass-by-value for copies and pass-by-reference (& for reading, &mut for modifying) to data handling.

Adding Elements with vector::push_back >

vector::push_back adds elements to a vector using a mutable reference (&mut), allowing dynamic storage updates.

Emitting Events with event::emit >

Events let smart contracts send signals that external apps can track in real time.