Learn MOVE with Real Code Examples

Updated Nov 25, 2025

Explain

Move enforces resource types - assets cannot be copied or lost unintentionally.

It has strong static typing and a formal verification model.

Designed to manage digital assets safely on blockchain networks.

Supports modules and scripts for reusable and composable logic.

Used by Diem, Aptos, Sui, and other blockchain ecosystems.

Core Features

Modules and scripts

Structs as first-class resources

Typed references and borrowing

Access control for resources

Compatibility with Move Virtual Machine (MVM)

Basic Concepts Overview

Resources - cannot be copied or discarded

Modules - reusable code units

Scripts - executable transactions

Structs with resource semantics

Functions with strict type safety

Project Structure

sources/ - Move modules

tests/ - unit and prover tests

scripts/ - transaction scripts

build/ - compiled bytecode

Move.toml - project config

Building Workflow

Write Move module (.move) file

Compile to bytecode

Test logic using Move Prover or testnet

Deploy module on chain

Interact via scripts or transactions

Difficulty Use Cases

Beginner: simple coin or token

Intermediate: multi-resource transactions

Advanced: NFT or DeFi module

Expert: formal verification proofs

Auditor: resource safety and module correctness

Comparisons

Move vs Solidity: Move is resource-safe; Solidity is feature-rich

Move vs Vyper: Move has ownership semantics; Vyper emphasizes simplicity

Move vs Rust: Move is resource-focused for blockchain; Rust is general-purpose

Move vs Cairo: Move targets asset-safe chains; Cairo targets STARK proofs

Move vs JavaScript: Move is strongly typed and blockchain-safe

Versioning Timeline

2019 – Move prototype (Libra)

2020 – Move language stabilization

2021 – Aptos adoption

2022 – Sui adoption

2023–2025 – Tooling and ecosystem expansion

Glossary

Move VM: Virtual machine executing Move bytecode

Resource: asset that cannot be copied or destroyed

Module: reusable code unit

Script: executable transaction

Prover: formal verification tool