I'm currently learning how to program on @solana, and have found it much more difficult than learning to program on Ethereum.

Luckily, there are lots of great resources out there. Here are the ones I've found most helpful! 👇
1/ First, it's helpful to at least slightly understand Rust 🦀 before diving into Solana dev.

Luckily, there's a great free book about it!

You don't need to read the whole thing, just enough to get the syntax down. You can always refer back to it later.

doc.rust-lang.org/book/
2/ Anchor (by @ProjectSerum) is a framework that will make your life much easier.

There are three parts to Anchor:
- A TypeScript library that's similar to web3.js
- Rust crates that make writing Solana programs easier
- A CLI for building/testing, similar to @HardhatHQ
3/ The best way to get a high-level understanding of each of these parts is to read through Anchor's tutorials.

The tutorials show you how to write Solana programs, how to interact with those programs via JavaScript, and how to build/test your code.

project-serum.github.io/anchor/getting…
4/ This is a more theoretical resource. It talks about Solana's account model, and how it differs from Ethereum's.

Understanding the account model is key to programming for Solana, and this is the best explanation I've seen.

solana.wiki/zh-cn/docs/acc…
5/ @dabit3's guide is a great intro to fullstack Solana dev. It covers:
- The Solana CLI
- The Anchor framework (which makes it much easier to write Solana programs)
- Building a frontend that interacts with a Solana program (e.g. how to connect a wallet)

dev.to/dabit3/the-com…
6/ @bfriel_ has two great guides.

The first is similar to @dabit3's, but has more thorough explanations of how Anchor works and why it's helpful. Definitely worth reading both.

7/ @bfriel_'s second guide goes over Program Derived Addresses, and uses them to address an unresolved problem in @dabit3's tutorial—how do you persist the state of your program?

It's a tricky topic, and this is the best explanation of it I've read.

8/ @paulxpaulxpaulx's guide shows how to program for Solana without Anchor. It shows what Anchor is abstracting away, and also serves as an introduction to Solana tokens.

I found it easier to grasp after reading the above resources.

paulx.dev/blog/2021/01/1…
9/ @dumbcontract2 has an informative (and entertaining) overview of Solana. I understood it much better after going through the previous resources and writing some code. It's not going to give you a deep understanding, but it's a great summary.

2501babe.github.io/posts/solana10…
10/ The Solana docs have a lot of info, but are not the easiest read. I recommend starting out by reading the "Terminology" page and the "Programming Model" pages. You can dive into other topics as needed.

docs.solana.com/terminology
docs.solana.com/developing/pro…
11/ Lastly, @ShinobiSystems wrote my favorite resource on Proof of History. You don't need to understand this to develop for Solana, but it's one of Solana's main innovations, and is well worth understanding.

shinobi-systems.com/primer.html
12/ That's it for resources! If you have any questions, join these Discords:
- Anchor Discord discord.gg/rp6wEhrh
- Solana Discord discordapp.com/invite/pquxPsq
- Anchor/Rust Study Group Discord discord.gg/KxMGfcdn (thanks @cqfdee for putting this one together 😄)

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with pencilflip.sol 🍄

pencilflip.sol 🍄 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @pencilflip

25 Oct
Proof of Stake is used by #Solana and Ethereum 2.0. But what is Proof of Stake, and how does it work? A short thread 👇
1/ "Proof of stake is a type of consensus mechanism used by blockchain networks to achieve distributed consensus."

In other words, Proof of Stake enables nodes in a blockchain network to agree on the state of the blockchain.
2/ For example, nodes should agree on:

- Which blocks are included in the blockchain
- Which transactions are included in each block
Read 12 tweets
24 Oct
#Solana accounts explained in 5 tweets 👇
1/ There are 2 kinds of accounts in Solana.

Data accounts store data. Program accounts store executable programs.

Each account has an address (usually a public key) and an owner (address of a program account). There are a few more fields every account stores, see 👇 Image
2/ There are a few important ownership rules:

- Only a data account's owner can modify its data and subtract lamports.
- Anyone is allowed to give lamports to a data account.
- The owner of an account may assign a new owner if the account's data is zeroed out.
Read 7 tweets
21 Oct
ERC721 is the "gold standard" for NFTs. But ERC1155 is another commonly used standard—in fact, it's the one @opensea uses!

So what is ERC115, and how does it differ from ERC721. You guessed it... it's another thread 👇

1/ First, if you haven't read my thread on ERC721, go check that out!

2/ Second, if you want to find out which token standard an NFT on OpenSea uses, just follow this video.
Read 12 tweets
6 Oct
1/ Arweave vs. IPFS, a high-level comparison
2/ Arweave, made by @ArweaveTeam, provides "permanent, resilient storage."

IPFS, made by @protocollabs, is a "distributed system for storing and accessing files, websites, applications, and data."
3/ The main difference is that Arweave guarantees permanence. If you store a file on Arweave, it will never be deleted.

This is not true for IPFS.
Read 16 tweets
6 Oct
My 7 favorite resources for getting started with web3...
1/ @3blue1brown's video "But how does bitcoin actually work?" explains Bitcoin's blockchain, and is the most understandable introduction to blockchain I've come across.

2/ The @ethereum whitepaper explains what Ethereum is and how it works. I recommend skimming it to get the general idea and revisiting it later.

ethereum.org/en/whitepaper/
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(