So I began to learn Move. It's an interesting language and a totally different concept than Solidity/EVM. Because Move and Aptos are pretty niche at the moment and there aren't many resources to learn - I'm publishing the code I'm writing as I learn - with annotations. Maybe they'll be of some use to you.
So my road was pretty simple. You will need development experience though.
- Read the whitepaper
- Get Aptos wallet and set it up
- you will need a private key later
- you will also need some coins which you can easily get from wallet UI
- Install CLI locally
- this may be pain
- DON'T start with Getting Started guide, instead follow CLI installation guide
- if you are developing on
devnet
(you probably are), make sure you pass--branch devnet
when installing CLI wih cargo.
- If you're using JetBrains IDEs then install Move Plugin AND CONFIGURE IT in settings before use.
- Read the Move Book.
- personally I didn't start developing before I've read the whole book to understand what's happening. There aren't many good sources out there yet that will guide you step by step, so it's good to get an overview of what we're dealing with.
- I also wasn't able to run any examples until later down the path LOL
- At this point you can start building, but you don't have to yet.
- you can take a look at first
useless
module to see how packages look like and what minimal working setup looks like - you can continue to the Move Language Guide
- you can read the step-by-step articles below, but some of them are a bit outdated and do not depend on the CLI yet
- you can take a look at first
- Read Move Language Guide - which is also named "Move Book" for some reason. This will fill in a lot of blanks.
- At this point you should realize that Aptos provides a lot of libraries -
std
,aptos_std
,aptos_framework
insideAptosFramework
- you should read them to start getting better understanding of what aptos provides and how Move codebase looks like
- if you are using JetBrains IDEs then you can find their sources under "External Libraries" in Project Panel
- otherwise you can browse its source code directly on GitHub.
- You can read through these series (there may be more now, so check author's page):