Write Smart Contracts with Move
To efficiently write smart contracts in Aptos, we recommend you first:
- Learn Move concepts
- Understand Aptos security
- Create a collection
- Create an NFT
- Create resource account
Aptos Move guides
Start here to learn how the Move language works on the Aptos blockchain.
Aptos CLI Move commands
Aptos Move Book
Move on Aptos
Move Primitives Tutorial
Use Bytecode for Dependencies
Gas and Transaction Fees
How Base Gas Works
Interact with the Move VM
Your First Move module
Mint NFT with Aptos CLI
Upgrading Move Code
Aptos Move Examples
End-to-End Aptos Move Tests
Move language channel in Aptos Discord.
Aptos Move reference
Then review our auto-generated contents for more Move References.
Move tools
Use these tools to enhance your Move development experience.
Aptos CLI
The Aptos command line interface (CLI) helps you test development, as many of the functions in our SDKs have corresponding commands.
Petra Wallet
Although you may use any wallet developed for Aptos, the documents here reflect Petra Wallet. We recommend installing and using it.
Aptos Simulation API
Use the Aptos Simulation API to test your apps, understanding the blockchain is in an ever-changing state. For example, an auction where people are selling, bidding, and buying will return varying results second by second. Gambling apps may generate wildly different results in a short time. So depending upon your application, you should expect some randomness. So guard your users by keeping simulations realistic.
Move Prover
Install the Move Prover dependencies after installing the Aptos CLI If you want to use the Move Prover to validate your Move code.
Move Debugger
To run the Move Debugger, issue: MOVE_VM_STEP=1 aptos move test
Generate the Move Virtual Machine execution trace with: MOVE_VM_TRACE=1
IDEs for Move
Install these IDE plugins for the Move language to gain some handy features:
- Syntax highlighting for Visual Studio Code
- Move analyzer for Visual Studio Code: Supports advanced code navigation and syntax highlighting.
- Move language plugin for Jetbrains IDEs: Supports syntax highlighting, code navigation, renames, formatting, type checks and code generation.
- Remix IDE Plugin: Offers a web-based development environment. It is a no-setup tool with a graphical interface for developing Move modules.
Supporting Move resources
Use these external resources to learn about the core Move programming language.
- Teach yourself Move on Aptos.
- Formal Verification, the Move Language, and the Move Prover
- IMCODING Move Tutorials
- Pontem Move Playground
- Collection of nestable Move resources
- Move-Lang tag on Stack Overflow
- Move language repository
- Move by example
- Awesome Move resources
Add your own recommended Move resources here. Simply click Edit this page below to go to the source and trigger editing there. See Markdown syntax for help.