/solana-onboarding

Short and to the point action list for anyone interested in hacking on Solana

I've been shilling Solana for too long and I often get asked the same questions about why/where/how to start.

Below is my best attempt at summarizing quality resources for new devs. In theory, this action-list has everything you need to go from wannabe who never coded Rust to proper Solana hacker.

Enjoy 🦀⚓🚀

Why Solana

Not convinced you should bother? Start here.

Read

I find these 3rd party theses to be most compelling.

  1. Long post by notboring
  2. Thesis by multicoin
  3. Thesis by sino

Listen

I tried to pick a mix of founders shilling their own chain / 3rd party opinions.

  1. Intro so solana on uncommon core
  2. Solana founders on upOnly
  3. Unchained - can Solana seize marketshare from Eth? [oct 2020]
  4. Unchained - could sol displace eth? [aug 2021 - almost a year later]

Learn rust

Aight you're excited and ready to jump in. Where do you start? You start with Rust (used for coding "programs" aka smart contracts on Solana.)

  1. Rust crash course [4h] - excellent, short and to the point intro.
  2. The official rust lang book [1-2d of intense reading] - will teach you syntax and language quirks.
    1. +++ don't be lazy and do the exercises for each chapter
  3. Zero2Prod [1-2 wks of study] - will take you from "I get the syntax" to "I get rust as a programming language and where it's strong/weak".

Learn Solana

The juicy part.

  1. Read the "developing" section of the docs [2-3h] - you will get a lot of questions, but that's ok. Just write them down and you'll be surprised how quickly they get answered as you progress.
  2. Go play with hello world app [2-3h] - rebuilding/tweaking will help your understanding a lot.
  3. Do paulx's excellent tutorial [1-2d]
  4. If you feel you need more tutorials:
    1. Solana transactions in-depth
    2. Code a smart contract with David Choi via video tutorials
  5. Otherwise, if you're ready to progress, it's time to read some actual production program code.
    1. This library contains code for on-chain programs written by Solana core devs & broader community. It's a gold mine for learning. Pick something you already know (eg token-swap == basically uniswap) → read through it → try adding some features / messing with code. You will learn a lot about architecture and design trade-offs.
    2. Helpful visual diagrams for some of the programs in there
  6. Now the twist. All of the above showcases "traditional" way of building programs on solana - but there's a simpler / faster way by using the anchor framework âš“
    1. Read this twitter thread to understand why it's so powerful
    2. Follow anchor's onboarding tutorial
    3. Learn to debug custom errors with anchor
    4. So should you build with anchor or the traditional way? It's up to you, but I would recommend going with anchor. You'll move faster, and have certain security stuff out of the box.
  7. Build stuff! Fun fun fun. Ideas:
    1. Build a simple blockchain wallet. Personally the first thing I built on Solana was a tui wallet that could do both eth and sol transactions. Taught me a ton about key management and how the two chains compare.
    2. Take something you know on another chain and re-build it on Solana. I picked fomo3d, which those of you who were around for 2017 craze might remember.
    3. Pick a project in the space that you like and contribute to their repo. Mango and Serum are the two that immediately come to mind - both are very keen to fund developers building on top of their protocols.

Where to get help

It's ok to be overwhelmed. Here's where you get help.

  • Rust questions
    • Rust community is one of the best I've seen in the dev space. My go to is asking #rust tagged questions on StackOverflow or going to dedicated rust forums if I want to have a bit more of a discussion.
    • Get ready to be amazed! Questions are generally answered within 30min of being asked - that's a totally polar experience to your python/js questions on SO that get 1 reply in 3 days.
    • There's also Rust discord, if you prefer chats to forums.
  • Solana questions
    • In general all the help is available in discord channels such as:
    • First thing to do is always Ctrl-F the discord with any keywords you might have from your error. In general, I'd say 50% of the time someone already had that problem and you'll get an instant answer.
    • If that fails, each protocol usually has some sort of developer questions channel. Be specific and to the point with your questions (no "hey this is my first post") and don't feel bad for re-asking ("still looking for answer to this [reply to own previous question]. Anyone might know?). Worst case CC one of the admins who you see frequenting in the chat.

How to stay up to date

If crypto as a whole moves at light speed, Solana's ecosystem basically warps time.