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:
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.
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 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 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 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.
Feature | Aptos | Sui | Movement |
---|---|---|---|
Architecture | Linear Blockchain, address-centric | DAG, object-centric | Linear Blockchain, address/object-centric |
Consensus | Aptos BFT (HotStuff-based) | Mysticeti | Snowman (HotStuff-based) |
Time To Finality | ~0.9 seconds | ~0.5 seconds | ~1 second |
Transaction Model | Block-STM | Object-centric execution | Block-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.
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.
Install Rust
Install the Aptos CLI
Clone the Aptos Repository
Install dependencies
Initialize a project
Write a module in the source/ directory. For example: A token module
Compile the contract
Run the test
Switch to testnet deployment
Deploy the module
In order to do a successful deployment, developers require some test tokens in their wallet.
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
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
Install Rust from the command in the Aptos section and then install Sui CLI:
Clone the git repository
Initialize a project
Write a module in move. For example: A NFT module
Compiling the module
Testing the module
Connect to Testnet
Deploy to Testnet
Install Sui Wallet: https://suiwallet.com/
Visit the Sui Faucet for Test Tokens: https://faucet.sui.io/
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
Clone the git repository
Build command
Add Movement path
Initialize a project
Write a move module compatible with MEVM or Aptos Move. For example: A Counter Module
Compile the module
Testing the module
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/
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
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.