The technical content top engineers rely on to level up.
9 min read
Uniswap v2 router code walkthrough The Router contracts provide a user-facing smart contract for safely minting and burning LP tokens (adding and removing liquidity) safely swapping pair tokens They...
12 min read
A comprehensive guide to the ERC 721 standard and related security issues ERC721 (or ERC-721) is the most widely used Ethereum standard for nonfungible tokens. It associates a unique number with an...
15 min read
Getting a smart contract audit: what you need to know A smart contract audit is a review by blockchain security experts to ensure that users will not lose funds due to a malfunction or security...
2 min read
OpenZeppelin Ownable: Use Ownable2Step Instead The modifier is probably one of the most common patterns in Solidity. In the following example, the function can only be called by the address...
3 min read
Solidity Staticcall EIP 214 Staticcall is like a regular Ethereum call except that it reverts if a state change happens. It cannot be used to transfer Ether. Both the EVM opcode, the Yul assembly...
5 min read
Understanding smart contract metadata When Solidity generates the bytecode for the smart contract to be deployed, it appends metadata about the compilation at the end of the bytecode. We will examine...
7 min read
Ten beginner project ideas after you learn Solidity Now that you've completed our solidity tutorial, what's next? You now have enough knowledge to build any of the following projects. Knowledge comes...
4 min read
The Schwartz-Zippel Lemma and its application to Zero Knowledge Proofs Nearly all ZK-Proof algorithms rely on the Schwartz-Zippel Lemma to achieve succintness. The Schwartz-Zippel Lemma states that...
3 min read
Lagrange Interpolation with Python Lagrange interpolation is a technique for computing a polynomial that passes through a set of $n$ points. Interpolating a vector as a polynomial Examples A straight...
12 min read
What are Pedersen Commitments and How They Work Pedersen commitments allow us to encode arbitrarily large vectors with a single elliptic curve point, while optionally hiding any information about the...
8 min read
Breaking Down the Uniswap V2 Swap Function Uniswap V2’s swap function is cleverly designed, but many devs find its logic counterintuitive the first time they encounter it. This article explains how...
4 min read
Solana programs are upgradeable and do not have constructors !Hero image showing Anchor deploy In this tutorial we will peek behind the scenes of anchor to see how a Solana program gets deployed....