Quit Profile picture
Used jpeg dealer \ Solidity dev & auditing \ VP Blockchain @yugalabs \ Founder @oSnipeNFT

Apr 29, 2024, 13 tweets

One of the questions I'm asked the most is "how do I get started becoming a solidity dev?". While there's no right answer, my response is always similar. So here it is in a thread:

How to take yourself from 0-1 as a solidity dev
1/🧵

2/ This thread will assume you have dev experience already - if you don't solidity might not be the best place to start.

Solidity doesn't necessarily have a steeper learning curve than other languages, but it has steeper penalties for getting it wrong.

3/ A good intro to the basics is available at . It's outdated - most of the program uses solc 0.5, and we're now at 0.8+ - a lot has changed, but it's quick, and enjoyable enough that it can ease the fear of "getting started", which is the hardest part.cryptozombies.io

4/ Study, study, study. The EVM is a dangerous place, full of simple mistakes with devastating consequences. Thankfully, most of those mistakes have already happened and are still publicly viewable.

Study the past to prevent making the same mistakes in the future.

Examples 👇

5/ Some large exploits that can help you get started:

- The DAO (and reentrancy in general)
- Popsicle Finance
- Nomad Bridge
- Wintermute

There are dozens of smaller exploits that happen pretty much weekly. If you see something, read about it.

6/ Don't just study the negative - study those that did things right, too. In fact, study everything.

If you deployed a smart contract in 2021, there's a good chance I read it.

7/ Now pick a protocol, and pick it apart.

- How do the pieces fit together?
- Why did they design it the way they did?
- What precautions are in place that you wouldn't have thought of?
- What puzzles you?

Something like Maker, Uniswap, or Seaport are good subjects.

8/ Write some code that follows basic guidelines, for example:

- Write a memecoin contract
- Write an ERC721/ERC1155 NFT contract
- Write an ERC4626 compliant vault

Play with them on testnets. Does everything work?

9/ Now write some wacky code that doesn't follow any guidelines at all, for example:

- An NFT that changes metadata when transferred
- A memecoin that transfers random amounts
- A vault that can only be used between sunset and sunrise

Play with them, do they behave as expected?

10/ Use to debug. Remix can be insanely helpful for gaining deeper understanding of what's going on between the text you write and what actually executes.

DON'T use Remix as your primary dev environment. For that, look to Foundry: remix.ethereum.org
book.getfoundry.sh

11/ Additional resources:

- @PatrickAlphaC on Youtube:
- Updraft tutorials:
- Ethernaut challenges:
- Alchemy University: youtube.com/c/PatrickColli…
updraft.cyfrin.io
ethernaut.openzeppelin.com
alchemy.com/university

12/ And how could I write a thread about solidity education without @q00ts? My own NFT project, a curated community of knowledge hungry devs with opportunities to test dev skills in risk free environments.

Join either team:

opensea.io/collection/q00…
opensea.io/collection/q00…

13/ The number one thing you need to have to see success as a solidity dev is passion. If you don't pay close attention to the space, you'll be punished accordingly. Good luck!

Follow me @0xQuit for more.

Like/Repost the quote below if you can:

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling