What to learn first?

To get up to speed, I suggest skipping learning about internals like Proof of History, etc., which are academically interesting but not practically useful in dapp development. Instead, familiarize yourself first with:

  1. Accounts — the way Solana stores data (including who has what money), as well as passes it around.
    1. All accounts contain data which is binary format, usually this is encoded and decoded using Borsh libraries
  2. Programs (Instructions) — the way operations are performed on chain. For instance, the Transfer instruction on the built-in Token program will transfer tokens from one account to another.
  3. Transactions — To order to Do Useful Stuff, you’ll have to generate and sign transactions. Understanding how they’re built and sent in code is, as well as confirmation status, etc. is essential. Learn about how you build and sign a transaction by putting together TransactionInstructions, passing the accounts and parameters, getting a blockhash, signing it, etc.

Then, I’d probably start writing some basic stuff using web3js. For instance, initialize a Keypair (account) and airdrop some Solana to it on devnet or localhost. Learn how to create a token from scratch using spl-token.

FAQ