Quit Profile picture
Apr 29 13 tweets 4 min read Read on X
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:

• • •

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

Keep Current with Quit

Quit 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 @0xQuit

Feb 8
ERC404 has taken X by storm. Many have called it out for misusing the ERC label, and rightfully so, but let's take a moment to discuss another aspect of it: composability.

Is it safe?

1/🧵 Image
2/ If you haven't read a technical breakdown of ERC404, check out my thread here:

I'll be referring back to the topics covered there throughout this thread.
3/ Imagine a basic shared vault application: users can deposit and withdraw NFTs or tokens. This can be a lending protocol, a custodial marketplace, or anything else (and in fact, this design exists in many places already).

This one is basic, you can only deposit and withdraw: Image
Read 12 tweets
Jan 23
When designing CryptoPunks721, we went through great lengths to ensure that the contract was:

a) ownerless
b) as gas efficient as possible

This led to the creation of a weird function!

The story behind `rescuePunk()`

1/🧵 Image
2/ NFT contracts typically maintain a count of their total supply. Maintaining that count is pretty simple: increment the count when a mint occurs, and decrement when a burn occurs.

Simple, but it adds an additional SSTORE to each mint and burn - that's 5000 gas!
3/ And wrapper contracts are unique - the total number of wrapped tokens can be inferred by the current number of the underlying NFT being held by the contract.

So we can bypass that gas cost by just returning the number of CryptoPunks held: Image
Read 8 tweets
Jan 18
I'm super proud of the launch of CryptoPunks721 and Your Stash, and I'm hopeful for everything that it means both in the immediate term and in the future.

You may have heard we had to roll it back to fix some issues, and just re-launched today - here's what happened 1/🧵
2/ Two essential convictions underpin Your Stash:

- It introduces SO much potential, most of which we haven't yet dreamed up. So, it's upgradeable.

- Upgradeability introduces centralization risk not present in immutable contracts, so only YOU hold the power to upgrade.

👇
3/ This is done by modifying Solady's ERC1967 Factory in a way that limits any given address to deploying just one contract, of which they become the de facto admin.

Yuga can launch new versions of stash contracts, but Your Stash remains unaffected until you choose to upgrade.
Read 13 tweets
Jan 2
I've seen a lot of confusion over the past 24 hours regarding signatures, and what is or isn't safe to sign.

Here's the way I think about it, and how you can decide for yourself if a message is safe to sign or not 1/🧵
2/ Signatures are a core tenet of Ethereum, and cryptography in general.

At a base level, you take a message and you sign it with your wallet's private key. Anybody can verify that you signed this message as long as they know what the message is.
3/ Messages can be used by protocols to verify that you've approved something, and therefor allow others to execute things on your behalf.

Below you can see that Permit2 uses offchain signatures to allow token transfers. This allows approval-less token swaps on DEXs. Image
Read 10 tweets
Jan 1
LFG is a new token launched on a Solana, with a goal of onboarding more ETH users to SOL.

Gotten several pings asking about the safety of it, so here's a quick rundown 1/🧵
2/ On the ETH side of things, you simply need to sign a gasless signature. Remember, gasless signatures that are simple, human readable messages (not typed data) are generally safe to sign.

That is the case here.


Image
3/ On the SOL side, you'll see something like this:

I will not pretend to be an expert on the SVM, but the transaction looks fairly straight forward. If you want to be safe, claim using a fresh Solana wallet. Image
Read 6 tweets
Dec 20, 2023
Last week, Yuga finalized a series of interconnected contracts that unlock new possibilities across our projects.

They'll start simple, but they're designed to allow evolution over time.

Introducing: Your Stash.

1/🧵 Image
2/ The first unlocks are for Punks.

CryptoPunks are an OG collection, deployed before the ERC721 standard existed. This is a large part of what makes them so special, but it is also the cause of (imo) their two biggest issues.
3/ First, they can't be sold on popular marketplaces without first being wrapped. Unfortunately, wrapping is prone to pitfalls and has no supporting interface.

We've done our best to make the process as foolproof as possible.

It starts with a new wrapper: CryptoPunks721 (Ͼ721). Image
Read 12 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

Don't want to be a Premium member but still want to support us?

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

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(