What Is Move Language? (Guide to Move-Based Blockchains)

Published on: April 18, 20257 minutes

Author: QuillAudits Team

Introduction to Move Programming Language

Move is a statically typed, resource-oriented programming language initially developed by Meta for their Libra/Diem blockchain project. Though the project from Meta was dropped, the Move programming language kept on growing within the developer community.

The move language has 4 major components:

  1. Bytecode: Move compiles the code into bytecode, which is then executed by MVM (Move Virtual Machine).
     
  2. Resource: Move is a resource-oriented language that manages and transfers resources efficiently between accounts.
     
  3. Modules: Move has a modular design. Modules within the move code share resources and common functionality.
     
  4. Scripts: Scripts are used to do simpler operations around module functions, and it doesn’t store on-chain or use storage.

image (16).webp

The move language feels like rust, so it is easy for developers to equip. Moreover, the move has greater security and flexibility because of its modular design. Features like formal verification boost the code correctness as each module can be independently verified. Being developed for a specific use case, it also has support for digital assets that ease the smart contract development.
 

Blockchains utilizing Move Language

There are multiple blockchains where developers can write smart contracts using Move Language. Given the wide array of features Move provides, along with its strong focus on blockchain security and a growing ecosystem, it offers various opportunities for developers to explore.

These blockchains include Aptos, Sui, and Movement. All of these blockchains utilizes Move Language for smart contract development but differs in architecture and consensus mechanisms. The following part of the piece will explore these blockchains in detail.
 

Aptos

Aptos is a Proof-of-Stake (POS) L1 blockchain. It utilizes a linear blockchain architecture where blocks are processed sequentially, ensuring reliability. It employs a Byzantine Fault Tolerance (BFT) protocol designed for low latency and high throughput. Transactions are validated in two network trips, reducing finality time. It utilizes Block-STM (Software Transactional Memory), which is a parallelization model that processes transactions concurrently, achieving a high theoretical TPS of 160k.

Aptos architecture separates components like consensus, execution, and storage, promoting a modular design. This allows for easy upgrades and customization. Aptos utilizes an address-centric model similar to other blockchains.
 

Sui

Sui is a Proof-Of-Stake (POS) L1 blockchain designed for low latency and high throughput, using a Directed Acyclic Graph (DAG) architecture instead of a linear blockchain like Aptos. This allows transactions to achieve consensus independently, boosting scalability. It utilizes Mysticeti, a BFT-based consensus optimized for low latency. It requires only three messaging rounds in order to commit blocks, enabling sub-second finality.

Sui’s object-centric model sorts transactions based on the objects they interact with (e.g., tokens, NFTs), allowing non-conflicting transactions to execute without re-execution. Sui separates consensus, storage, and computation layers, enhancing flexibility and scalability. Unlike Aptos’ address-centric model, Sui’s object-centric model represents data (tokens, NFTs) as distinct objects. This reduces ledger updates and enhances parallelism.
 

Movement

Movement is a modular L1 blockchain using the Move programming language. It utilizes a linear blockchain architecture like Aptos. It utilizes a Snowman consensus mechanism, a BFT-based protocol. It adopts Block-STM as Aptos for optimistic parallelization, processing non-conflicting transactions in parallel, which improves the throughput.

Movement architecture is modular in nature, separating consensus, execution, and storage layers. It supports Aptos Move, Sui Move, and Move EVM (MEVM), enabling interoperability across the Move-based ecosystem. Movement uses an address-centric model like Aptos.
 

Architectural Comparisons
 

FeatureAptosSuiMovement
ArchitectureLinear Blockchain, address-centricDAG, object-centricLinear Blockchain, address/object-centric
ConsensusAptos BFT (HotStuff-based)MysticetiSnowman (HotStuff-based)
Time To Finality~0.9 seconds~0.5 seconds~1 second
Transaction ModelBlock-STMObject-centric executionBlock-STM
TPS (theoretical)~160k~297k~160k

While there are some differences in these blockchains in terms of how they handle transactions, the user flow remains similar. There would be some changes in the case of Sui as it allows for simple transactions like asset transfer without consensus.

image (17).webp
 

How to start development using Move

In order to start with development on these blockchains, it is important to learn Move or have an understanding of Rust to equip the language faster. Aptos uses Aptos Move, Sui uses its version of Move called Sui Move, which is a modified version of the Move language. Movement allows for deployment including Sui Move, Aptos Move, and MEVM.

Aptos

Initial Dependencies and Project Creation

Install Rust

image (18).webp

Install the Aptos CLI

image (19).webp

Clone the Aptos Repository

image (20).webp

Install dependencies

image (21).webp

Initialize a project

image (22).webp

Write a module in the source/ directory. For example: A token module

image (23).webp

Compiling and Testing

Compile the contract

image (24).webp

Run the test

image (25).webp

Deploying to Testnet

Switch to testnet deployment

image (26).webp

Deploy the module

image (27).webp

In order to do a successful deployment, developers require some test tokens in their wallet.
 

Wallet Setup and Getting Test Tokens

Download and install any wallet from the list here: https://aptosfoundation.org/ecosystem/projects/wallets

Recommended Wallet: Petra (https://petra.app/)

Faucets to get the test tokens from: https://aptos.dev/en/network/faucet
 

Relevant Resources

Aptos Developer Portal: https://aptos.dev/

Move Book: https://move-book.com/

Aptos Tutorials: https://aptos.dev/tutorials/

Aptos Mainnet Block Explorer: https://explorer.aptoslabs.com/?network=mainnet
 

Sui

Initial Dependencies and Project Creation

Install Rust from the command in the Aptos section and then install Sui CLI:

image (28).webp

Clone the git repository

image (29).webp

Initialize a project

image (30).webp

Write a module in move. For example: A NFT module

image (31).webp

Compiling and Testing

Compiling the module

image (32).webp

Testing the module

image (33).webp

Deploying to Testnet

Connect to Testnet

image (34).webp

Deploy to Testnet

image (35).webp

Wallet Setup and Getting Test Tokens

Install Sui Wallet: https://suiwallet.com/

Visit the Sui Faucet for Test Tokens: https://faucet.sui.io/
 

Relevant Resources

Sui Blockchain Explorer: https://suiexplorer.com/

Sui Developer Portal: https://sui.io/developers

Sui Move Documentation: https://docs.sui.io/build/move

Sui Move: https://sui.io/move

Learn Sui Move: https://github.com/sui-foundation/sui-move-intro-course
 

Movement

Initial Dependencies and Project Creation

Clone the git repository

image (36).webp

Build command

image (37).webp

Add Movement path

image (38).webp

Initialize a project

image (39).webp

Write a move module compatible with MEVM or Aptos Move. For example: A Counter Module

image (40).webp

Compiling and Testing

Compile the module

image (41).webp

Testing the module

image (42).webp

Deploying the contracts to the Movement Testnet

image (43).webp

Wallet Setup and Getting Test Tokens

Install any wallet from the documentation: https://docs.movementnetwork.xyz/general/UsingMovement/connect_to_movement

Recommended Wallet: https://razorwallet.xyz/

Visit the Movement Testnet Faucet: https://faucet.movementnetwork.xyz/
 

Relevant Resources

Deploy your first move contract: https://docs.movementnetwork.xyz/devs/firstMoveContract

Movement Technical Overview: https://www.dwf-labs.com/research/540-movement-network-overview

Movement Block Explorer: https://explorer.movementlabs.xyz/?network=mainnet
 

Conclusion

Move is a growing language with more ecosystems adopting it due to its security, flexibility, and digital asset native support.

Move is currently adopted by blockchains like Aptos, Sui, and Movement. These blockchains differ in architecture, with some similarities in Aptos and Movement, providing Move support and high throughput.

Deploying code to this ecosystem is fun, but at the same time, it is important to understand that before deploying any code to the internet, an audit is necessary. Auditing contracts provides confidence to the community and improves the protocol's security.

Learn more about Move Language Auditing here.

Loading...
Loading...
Loading...
Telegram