• Stars
    star
    320
  • Rank 131,126 (Top 3 %)
  • Language
  • Created about 3 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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.

More Repositories

1

teachyourselfCS-RU

Russian translation of https://teachyourselfcs.com/
1,303
star
2

awesome-solana-nfts

A curated list of Solana NFT protocols, repos & community tools
991
star
3

MML-Book

Code / solutions for Mathematics for Machine Learning (MML Book)
Jupyter Notebook
737
star
4

nft-armory

Simple tool to display, mint, and modify your Metaplex NFTs
Vue
185
star
5

nftape.me

Are you Paperhands or Diamondhands? Find out your Solana NFT trading stats
TypeScript
74
star
6

solana-serum-program-viz

Visualizations & diagrams for programs built on solana and serum
52
star
7

solana_fomo3d

rebuilding the popular game on solana
Rust
24
star
8

mining-pools-aggregator

Aggregates all the mining pool lists available online (domains + IPs).
Python
24
star
9

cs186-diagram

built using https://www.youtube.com/user/CS186Berkeley/playlists
19
star
10

degen-wallet

🍌
Rust
10
star
11

metaplex-pnft-snippets

Rust
7
star
12

nft-armory-node

pregame before porting to vue
TypeScript
5
star
13

stanford_algos

Algorithms Specialization by Tim Roughgarden on Coursera
Python
5
star
14

rebuild-token-vesting

rebuild https://github.com/Bonfida/token-vesting for fun and profit (learning)
Rust
5
star
15

sol_wtf

oss code for sol.wtf
Rust
4
star
16

serum-dex-js-cli

cli to interact with project serum
TypeScript
3
star
17

my-versioned-program

TypeScript
3
star
18

eth-rust-wallet

bit 39/32/44
Rust
3
star
19

rebuild-ethereum-in-rust

Rust
2
star
20

solana-simple-escrow

based on paulx tut
Rust
2
star
21

jet-gql

TypeScript
1
star
22

solana-versioned-tx

TypeScript
1
star
23

zero2prod

https://www.zero2prod.com/
Rust
1
star
24

messy-token-lending

me playing with https://github.com/solana-labs/solana-program-library/tree/master/token-lending
Rust
1
star
25

token_lending_cli

temp repo for updated token lending cli (that actually works)
Rust
1
star
26

rust-lang-book

https://doc.rust-lang.org/stable/book
Rust
1
star