Coder Social home page Coder Social logo

solana-onboarding's Introduction

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.

solana-onboarding's People

Contributors

ilmoi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.