If you only use Etherscan to browse Ethereum, you're missing out.
Here's a list of power tools (and their hidden features) that security researchers use to investigate hacks.
โ
My favorite JavaScript lifehack lately: when I need to process a lot of data in parallel, I don't split it in batches upfront.
Instead, I create a pool of workers that pull work from the queue. This way slow tasks won't block the rest of the batch.
Honest builders in web3 are at a severe disadvantage:
- hate shilling their projects
- don't employ sketchy tactics
- don't want to overpromise returns
- filled with anxiety about letting other people down
- critiqued by degens expecting infinite growth
How can we fix this?
Ever wanted to peek into an unverified contract on Etherscan?
Here's a tool for that! Using dark magic we can reconstruct ABI from bytecode!
This is how it works (+ the link to GitHub) โ
Here's a story about a project I really enjoyed building.
A few months ago I had an idea: what if there was an NFT collection that can't be bought with money, but needs to be earned with skill and dedication?
โ
How to get better at Solidity? Ez:
1. Read The Book
2. Lurk on Etherscan
3. Use alpha tools
4. Learn EVM
5. Follow the right ppl / get on Farcaster
6. Join (and then start) Discord servers
7. Build and ship (in the open)
This is probably the most significant output of my web3 journey so far. Absolutely everything I know from a year of building, reading and auditing NFT projects โ in one single place.
๐ I'm back from the holiday and need a little boost, would appreciate a like/RT
Introducing hot-chain-svg ๐ฅโ๐จ โ a toolkit for building on-chain SVG projects for Ethereum.
- Hot reloading
- Visual testing
- React-inspired APIs
Code:
Generative NFT art project idea: you buy a token, and it comes with iOS automation script that updates your lock screen with a new visualization derived from your token every day.
If this tweet gets 100 ens in replies I'm gonna build it.
Working on NFT Contract Checklist. A one-stop list of common best practices implementing NFT contracts. I'm organizing it now, adding descriptions and examples.
Open-sourcing soon, click ๐ on profile if you don't want to miss it or tag a friend if it's interesting ๐
Just finished reviewing
@okpcnft
's contract and let me tell you โ it's as elegant as the NFT itself.
Here are some details (and a few small issues) that caught my eye:
โ
SNOW v1 Access Key: dropping today.
1. Solidity devs only (general access later)
2. Comment with keccak256(abi.encodePacked(address))
3. Wait for further instructions (in ~4 hours in reply to this tweet)
Excited to announce that
@austingriffith
and
@buidlguidl
sent an angel check to support my EVM From Scratch course: "No strings attached, keep building awesome things" ๐คฏ
Thank you, friends! I'm now spending even more time on it, hoping to fully launch it soon!
๐ซก
Font selection is a criminally underinvested feature in
@figma
.
It's not even good for people who know exactly what they want, let alone people (like me) who have no idea. I feel like the kid in the 90s again, trying every single font in MS Word.
We're working on open-sourcing our tooling for building on-chain SVG art:
1. React-inspired API
2. <100ms hot reloading
3. Visual QA tools
Know someone who'd be interested? Please tag them. A few teasers below โ
I'm entertaining the idea of doing web3 full-time. DM me your recs or pitches. Quote-tweets appreciated.
๐โโ๏ธ eng, rebel, 15+ yrs at faang & startups, founded many successful teams & products, good w/ zero-to-ones
๐ smart teams building โจ UX/DX stuff for web3
Working on something fun :)
Do you have friends who LOVE solving CTFs? This would make a really cool holiday present.
Drop your ENS if you want access early โ
Anyone else here a big fan of
@visualizevalue
?
I've put together a simple iOS shortcut. Every day it updates my lock screen with a random VV.
DM if you want this, currently it requires a few manual steps. Will streamline & publish instructions if enough ppl want it
Spicy takes on web3 social.
I was around when phpBB was invented, I worked at Facebook for many years, I see "web3 social will change the world" narratives and I can't keep quiet
โ
forge inspect $CONTRACT ir-optimized
๐คฏ Blows my mind (aka "radically upgrades my capabilities")
It takes Solidity code and shows the optimized Yul assembly. Unlike the raw bytecode, it's much easier to read and understand.
Let me tell you why I think it's amazing โ
There's a well-known phenomenon in software development: often, you'll "plateau" for a while before discovering a new trick, tool, or workflow that radically upgrades your capabilities
Recently discovered one such trick & want to share with my fellow smart contract optimizors ๐
Here's a NextJS trick that made writing APIs 10x more fun.
Say you want to make an endpoint that accepts address and chainId, and returns JSON. How would you do it?
For the longest time, I used to write ๐ฉ code like this โ
FREE SMART CONTRACT ROAST ๐ฅ
I'll review your Solidity code and provide feedback.
Rules:
- Has to be your code
- OK with me sharing some parts
- Export to Gist and send a DM
- No promises
Here's a new pattern I started using lately: allow the owner of the NFT contract to execute any transaction on its behalf.
It's more flexible and future-proof than the old pattern of withdrawing balance & coins. It DOES NOT allow the owner to rug the project.
Details โ
My solution to
@RareSkills_io
's ERC165 challenge.
It was wild because I felt like I had to pull together some really crazy hacks.
I scored 27 gas (the bar was 46 max), 6 transactions, no cheatcodes!
I promise you'll learn something new :)
โ
This is the most insane level of hacks I've ever employed.
Now I just need a little motivation to write an explanation. Please like/RT for motivation ๐
I made $200,000 last year ghostwriting premium smart contracts for superstar devs. It takes me 5 hours a week. Here's how I found my clients and built a booming side hustle from scratch.
The first
@prtyDAO
-native NFT!
I'm making a tic-tac-toe game with a twist: each player is a DAO! The winner takes the funds raised by both parties.
I'm very curious about how people will coordinate in this fast-paced environment.
But there's more โ
The EVM course is designed to turn Solidity developers into shadowy supercoders. Optimized to be fun and addictive.
In this class, we'll:
โ Re-implement EVM from scratch
โ Learn how to read and write bytecode
โ Uplevel our Ethereum skills
Why don't we have guilds and apprenticeships in tech?
It seems like such a great model. A group of people shares the teaching, reputation, community, craft, growth, and upside. The incentives are aligned โ
Compare it to how we do things now: โ
Here's a project I've been secretly working on for the last couple of months. It's about advancing the way on-chain governance works.
To understand why it's interesting and useful, let's think about the path to governance from the first principles โ
Introducing Season 01: a free NFT for my subscribers on
@viamirror
.
If you love my work, please subscribe & mint. The NFT is free, but the minting closes next week!
Levels of knowledge:
L1 - Briefly heard about something
L2 - Researched the topic at great length
L3 - Experienced on your own skin
Example:
L1: Smart contracts are cool
L2: Studied Solidity docs, took a class
L3: Deployed to mainnet & ppl use it
Why it's important โ
Here's
@lootproject
โ one of the first "fully on-chain" NFTs. It used ERC721 spec in a very clever way that brought an avalanche of on-chain projects.
Let's take a look โ
Be careful about tweets, articles, and videos that make you feel smart. Cheap calories.
True learning happens when you roll your sleeves and *do* something you've never done before.
โ the best web3 gaming has to offer, only on
@optimismPBC
.
Rules are simple: click the button every 6 hours. Rumors have it things might start to look different depending on Clicks balanceโฆ
This is the most insane level of hacks I've ever employed.
Now I just need a little motivation to write an explanation. Please like/RT for motivation ๐
It's the moment you've all been waiting for.
Your gas target this time?
46 gas.
But maybe you can do better?
Screenshot of the key part below.
Please share this with your dev friends!
Test:
Contract:
Prizes and rules below ๐
Until I discovered zod. It's a small little library I bring everywhere now.
With zod, you define the shape of the data you want. When you pass raw inputs, you'll get a nice, typed object (or a helpful error message).
So much cleaner.
Wow is really awesome!
Just put together a simple NFT contract, deployed it and got a nice-looking mint page that figured out how to call my contract automagically ๐ฎ
Facebook. 2012.
The site is used by One Billion People.
The product moves with a breakneck speed.
We are burning A LOT of cash on servers and electricity bills.
Can't keep up with the growth.
Need to make the site more efficient.
How do you motivate the engineers to do that?
Solidity masterminds, may I kindly ask for your code review of this unorthodox NFT contract? How would you describe the runes' inner workings and meaning?
0x555555551777611fd8eb00df11ea0904b560cf74
Comparing different ERC721 implementations for minting 10 tokens at a time. You can see Solmate is better than OpenZeppelin by using tactical tricks, whereas ERC721A is using strategic storage optimizations.
To be continuedโฆ
rainbowkit is such a smart play by
@rainbowdotme
. If you are building a web3 website and want to support browser wallet (e.g. MetaMask) and mobile wallets (via WalletConnect) the most popular choice today is Web3Modal. But it's big, old, untyped, buggy, and pain to use with React
I looooove building MVPs. Here's a thread about building the "Drop Your ENS" tool.
For the last couple of days I've been building a minimal version of the app. Here's a little about the motivation, tech & learnings
Just used abi.encodeCall for the first time, neat!
abi.encodeCall is a type-safe way to encode Solidity calls into bytes. It's better than encodeWithSignature because it validates the types at compile time!
Here's an example
How to make projects on Ethereum more gas efficient on the scale of the whole industry?
โ Teach devs EVM principles
โ Teach devs to gas golf via memes
๐ค Build better gas reporting tools
โ Shame
What is smart contract roasting? ๐ฅ
This is a process we started at
@solidityguild
. It's when a more experienced Solidity engineer looks at your code and gives feedback.
Asking for a favor: How would you explain roasting to a colleague or your manager?
Calendly but for hackers?
I love the concept of calendar links, but I hate the gaps in my schedule. Is there a product that offers ONLY the slots next to booked ones?
Example: if I mark 10am-1pm as free, and already have a meeting 11-12, only offer 10:30-11 or 12-12:30 slots.
I wonder how many people holding
@okpcnft
know that the art it's showing is NOT the NFT itself. Eventually, you'll be able to paint whatever you want on it.
Young me was a "developer productivity" maxi: vim, shortcuts, plugins, custom fonts, shell aliases, lifehacks, podcasts, booksโฆ I took pride in optimizing every single aspect of my software development flow.
Then, one day changed everything โ
A few weeks ago I published an on-chain experiment: a tic-tac-toe game played by 2 DAOs. It's out of my control now: the game has started and a $5,000 prize pool is at stake.
I follow both parties' private channels and here's what's going on:
"Drop your ENS" is still an effective way to find your first users on Twitter. But how do you collect all the addresses? And once your app is out, how do you notify the people who have replied?
Thinking of building a tool for that.
Interested? Drop your ENS :)
TIL
SELFDESTRUCT does not clear the contract's code immediately, so another deployment (via CREATE2) will fail if attempted in the same transaction.
But if you submit a new tx with CREATE2 it will happily deploy new code to the old address.
๐ค
Any examples of amazing devs who are also outstanding educators?
It seems that the devs who produce classes, tutorials, videos, etc. are drowning in the education/advocacy metagame and have never actually made good software ๐ถ
@dhof
Took a few hours off today to implement the basics. If someone wants to pick this up and implement the rest of the features, feel free! (cc0, do whatever you want)
On a consulting call today I convinced a client they don't *need* my services and suggested a more cost-efficient solution to their problem.
Felt like the right thing to do. I'm here to push the field forward, not sell anything to anyone.
am I ngmi?
Thinking of getting an intern. Has anyone done this before?
The plan is:
1. Find a smart, motivated person
2. Teach them EVERYTHING I know about crypto
3. Give them a solid project
4. Mentor through building and shipping
Free to join. High bar. Own a major share of the upside.
Why don't we have guilds and apprenticeships in tech?
It seems like such a great model. A group of people shares the teaching, reputation, community, craft, growth, and upside. The incentives are aligned โ
Compare it to how we do things now: โ
What is "building in the open"?
In the last couple of weeks, I started changing the way I think about what "building in the open" means. It's not only about tweeting the technical details and sharing the designs.
โ
Little gas golfing story for you tonight.
I got a spare 1 hour (the gym is closed today) and decided to improve my upcoming XO game smart contract. The play function is going to be called the most, and currently it consumes 28K gas.
Let's see if we can optimize it โ
this timelapse showcases the collaborative work of 501 artists drawing their favorite
@xcopyart
pieces for 24 hours
the piece was then sold as an open edition with the proceeds auto-split based on how many pixels each artist drew
the
@basepaint_xyz
community is extraordinary
Agora is looking for a Solidity wizard ๐ง who wants to build the next version of protocols powering the largest DAOs.
You'll be working with ENS, Uniswap, Optimism, Nouns, and a bunch of other communities with $$B in TVL. And also with me :)
RT plz
There's this really unhealthy trend in all crypto-related React packages to require a context wrapping your whole app.
This makes it extremely hard to lazy load and we end up with 1MB+ (gzipped!) JS bundles out of nowhere.
I regret using ERC1155.
The idea is so good: gas-efficient, fungible NFTs. In reality, even the major NFT websites and wallets have problems with it.
Op*nSea split our collection in 2, mintdotfun serves old assets, users don't know how many tokens they have, list goes on and on
The paradox of knowledge transfer: once you learn something, you lose the ability to teach it to others.
(Also known as "the curse of the monad")
I think I know what's going on.
Let's see if I can explain it :)
โ