foundry: the best smart contract development framework i've ever used, and likely you also use it too. it's blazing fast and you can write your unit tests, fuzz tests, invariant tests and deployment scripts in solidity!
halmos: a formal verification tool by a16z. you can write foundry-style tests in solidity and halmos can symbolically execute it to find holes in your implementation. very useful for security.
halmos operates on bytecode, meaning it can prove assembly, unlike the next formal verification tool...
smtchecker: the solidity compiler already comes with its own formal verification tool built in, it's called SMTChecker!
while halmos operates on bytecode, SMTChecker operates on source code. however, this one can prove inductive invariants and invariants across multiple transactions
bulloak: the branching tree technique, invented by @PaulRBerg, is a useful one for designing well thought out tests. bulloak is a tool that generates solidity scaffolds for your tests from these branching trees.
EQL: EVM Query Language is an SQL-like language designed for querying blockchain data. you can use it to fetch relational data from EVM chains, under the hood it turns queries into JSON-RPC requests
whatsabi: guess the ABI of a smart contract, even unverified ones. it can pull data from etherscan, sourcify, openchain; match known function selectors to function names and resolve proxies. all that in a typescript package you can use on the browser
even if you don't use it, you gotta be impressed by it. useful for procedural frontends, bytecode analysis, and more
swiss knife: it's an all-in-one multitool, just like a swiss knife. built by @apoorveth, it's got a universal calldata decoder, chain explorer, unit converter, cheatsheet of useful constants, timestamp converter, custom transaction sender, storage slot queries, uniswap v3 tick to price calculator, and more.
chisel: technically a part of foundry, but worth mentioning on its own. it's a solidity REPL where you can quickly test out solidity code and see how things evaluate. very useful for learning about ABI encoding!
wagmi/viem: very useful tools made by @wevm_dev. viem is a blockchain interaction library like ethers, while wagmi is a set of react hooks that can be used in your app!
as a wagmi user, i can say that it's definitely got a very good developer experience.
openzeppelin contracts: okay, this one is a thing everyone knows, but i thought it was worth explicitly stating. incredible solidity development library that implements a lot of standards, leaving you free to work on your protocol logic.
solady: i'm sooooOoOoOo...... it's a set of snippets by the genius @optimizoor designed to be as gas-efficient as possible while being secure. unlike openzeppelin, it doesn't really have docs: the code is the docs.
not for the noobs or the faint of heart. stick with openzeppelin if you're new.
that's a wrap! there are so many more cool dev tools out there, and you should always keep on searching and improving your development skills and knowledge.
until next time,
ethereum intern out
15/15
• • •
Missing some Tweet in this thread? You can try to
force a refresh
it's the first onchain perpetual options protocol on ethereum, allowing liquidity providers to hedge their delta and degens to go long or short with high leverage and zero price-based liquidations.
that's right. it's the @GammaSwapLabs thread. 1/10
wtf are perpetual options? (feel free to skip this if you aren't interested in the details)
options are contracts that allow you to optionally buy or sell an asset by an expiration date for a certain price. for example, i could buy a "call option" to get the right to buy a certain amount of ETH at a certain strike price.
a perpetual option is an option without an expiration date, which can be held indefinitely.
the key insight of gammaswap is that providing liquidity on uniswap is like the risk of selling options to short volatility, i.e. a perpetual short straddle. these options have no expiration date, so you can provide liquidity forever.
gammaswap is a permissionless perpetual options protocol. the counterparty/liquidity providers are gammaswap LPs, who can deposit their uniswap LP positions to earn extra yields and at no* additional risk.
uniswap: the top DEX on almost every major EVM chain. you don't fuck with @Uniswap. it's an automated market maker that allows people to trade their tokens against a liquidity pool, and allows people to provide liquidity to earn fees.
one of the most important protocols on ethereum and DeFi in general is going to radically change, and most don't even know.
that's right, it's a very basic overview of the @MakerDAO endgame plan. a massive, comprehensive plan.
1/15
why is this only a very basic overview? well, the FIRST POST of rune's complete overview is 12 THOUSAND WORDS LONG and it's unreasonable to ask the average defi degen to read all that
as your intern, to make this post i had to read a lot. you can see all the sources i used at the end of the thread
2/15
the goal of the endgame plan is to get maker into an "endgame state", where it is maximally resilient, its structure is ossified and it can function long into the future without changes.
so, let's look over what the endgame plan brings to the table:
the pectra megafork is coming and you're fading ethereum?
a shallow dive into every upgrade included in pectra, and what it means for ethereum 📚
TL;DR: simpler and faster
1/12
EVM Object Format: a whole set of sweeping changes to the EVM. it will:
- allow optimizers to find better optimizations (reducing gas costs for users)
- remove "stack too deep" errors (devs hate these errors so much it's so damn annoying)
- allow easier JIT compilation, speeding up the EVM more
- overall increased developer experience
2/12
PeerDAS: the next stage of data availability for ethereum. if EIP-4844 gave us this (see chart below), PeerDAS will bring even more throughput to blobs by sharding them across nodes.