This README file includes all the blog posts references from Rareskills.
To set up the project, run the following commands:
chmod +x setup.sh
./setup.sh
Title | Author | Published Date | Reading Time | Link | Read |
---|---|---|---|---|---|
AliasCheck and Num2Bits_strict in Circomlib | Jeffrey Scholz | 22 hours ago | 4 min | Link | [ ] |
The initializable smart contract design pattern | João Paulo Morais | 6 days ago | 10 min | Link | [ ] |
ERC-7201 Storage Namespaces Explained | Team RareSkills | Jun 13 | 8 min | Link | [ ] |
Fixed Point Arithmetic in Solidity (Using Solady, Solmate, and ABDK as Examples) | Jeffrey Scholz | Jun 10 | 8 min | Link | [ ] |
The Transparent Upgradeable Proxy Pattern Explained in Detail | Jeffrey Scholz | Jun 4 | 7 min | Link | [ ] |
Understanding ABI encoding for function calls | Team RareSkills | May 29 | 15 min | Link | [ ] |
Cross Program Invocation in Anchor | Jeffrey Scholz | May 17 | 4 min | Link | [ ] |
Nodelegatecall Explained | Jeffrey Scholz | May 11 | 2 min | Link | [ ] |
Reading Another Anchor Program’s Account Data On Chain | Jeffrey Scholz | May 7 | 5 min | Link | [ ] |
Delegatecall: The Detailed and Animated Guide | Team RareSkills | May 3 | 15 min | Link | [ ] |
Low Level Call vs High Level Call in Solidity | Team RareSkills | May 1 | 3 min | Link | [ ] |
Finite Fields for Arithmetic Circuits | Jeffrey Scholz | Apr 29 | 23 min | Link | [ ] |
Arithmetic Circuits for ZK | Jeffrey Scholz | Apr 23 | 22 min | Link | [ ] |
Uniswap V2: Calculating the Settlement Price of an AMM Swap | Team RareSkills | Apr 17 | 5 min | Link | [ ] |
P vs NP and its application to zero knowledge proofs | Jeffrey Scholz | Apr 10 | 20 min | Link | [ ] |
#[derive(Accounts)] in Anchor: different kinds of accounts | Jeffrey Scholz | Apr 6 | 4 min | Link | [ ] |
Three ways to detect if an address is a smart contract | Jeffrey Scholz | Apr 5 | 5 min | Link | [ ] |
ERC-1363 Standard Explained | Jeffrey Scholz | Apr 4 | 8 min | Link | [ ] |
Creating Raw Ethereum Interactions in Go: Blob Transactions, Tracing Transactions, and Others. | Team RareSkills | Apr 3 | 21 min | Link | [ ] |
Understanding the Function Selector in Solidity | Jeffrey Scholz | Mar 30 | 4 min | Link | [ ] |
How ERC721 Enumerable Works | Team RareSkills | Mar 27 | 8 min | Link | [ ] |
Checklist for Technical Writing | Jeffrey Scholz | Mar 25 | 6 min | Link | [ ] |
Hacking Underconstrained Circom Circuits With Fake Proofs | Jeffrey Scholz | Mar 18 | 4 min | Link | [ ] |
Deleting and Closing Accounts and Programs in Solana | Jeffrey Scholz | Mar 12 | 4 min | Link | [ ] |
Owner vs Authority in Solana | Jeffrey Scholz | Mar 11 | 6 min | Link | [ ] |
Multicall in Solana: Batching Transactions and Transaction Size Limit | Jeffrey Scholz | Mar 10 | 3 min | Link | [ ] |
Init_if_needed in Anchor and the Reinitialization Attack | Jeffrey Scholz | Mar 8 | 6 min | Link | [ ] |
Understanding Account Ownership in Solana: Transferring SOL out of a PDA | Jeffrey Scholz | Mar 7 | 6 min | Link | [ ] |
PDA (Program Derived Address) vs Keypair Account in Solana | Jeffrey Scholz | Mar 6 | 6 min | Link | [ ] |
Modifying accounts using different signers | Jeffrey Scholz | Mar 5 | 7 min | Link | [ ] |
Transferring SOL and building a payment splitter: "msg.value" in Solana | Jeffrey Scholz | Mar 2 | 4 min | Link | [ ] |
Function modifiers (view, pure, payable) and fallback functions in Solana: why they don't exist | Jeffrey Scholz | Mar 1 | 3 min | Link | [ ] |
Reading an account balance in Anchor: address(account).balance in Solana | Jeffrey Scholz | Feb 29 | 3 min | Link | [ ] |
Cost of storage, maximum storage size, and account resizing in Solana | Jeffrey Scholz | Feb 28 | 5 min | Link | [ ] |
Creating “mappings” and “nested mapping” in Solana | Jeffrey Scholz | Feb 27 | 4 min | Link | [ ] |
Read account data with Solana web3 js and Anchor | Jeffrey Scholz | Feb 26 | 4 min | Link | [ ] |
Solana counter tutorial: reading and writing data to accounts | Jeffrey Scholz | Feb 25 | 4 min | Link | [ ] |
Zero Knowledge Addition | Jeffrey Scholz | Feb 25 | 2 min | Link | [ ] |
Initializing Accounts in Solana and Anchor | Jeffrey Scholz | Feb 24 | 8 min | Link | [ ] |
Introduction to Solana Compute Units and Transaction Fees | Jeffrey Scholz | Feb 23 | 7 min | Link | [ ] |
Tx.origin, msg.sender, and onlyOwner in Solana: identifying the caller | Jeffrey Scholz | Feb 21 | 5 min | Link | [ ] |
Solana logs, “events,” and transaction history | Jeffrey Scholz | Feb 20 | 3 min | Link | [ ] |
Solana Sysvars Explained | Jeffrey Scholz | Feb 19 | 8 min | Link | [ ] |
The Solana clock and other "block" variables | Jeffrey Scholz | Feb 18 | 4 min | Link | [ ] |
Visibility and "inheritance" in Rust and Solana | Jeffrey Scholz | Feb 17 | 5 min | Link | [ ] |
Rust Structs and Attribute-like and Custom Derive Macros | Jeffrey Scholz | Feb 16 | 6 min | Link | [ ] |
Rust function-like procedural Macros | Jeffrey Scholz | Feb 15 | 2 min | Link | [ ] |
The unusual syntax of Rust | Jeffrey Scholz | Feb 14 | 7 min | Link | [ ] |
Basic Rust for Solidity Developers | Jeffrey Scholz | Feb 13 | 6 min | Link | [ ] |
Solana programs are upgradeable and do not have constructors | Jeffrey Scholz | Feb 12 | 3 min | Link | [ ] |
Require, Revert, and Custom Errors in Solana | Jeffrey Scholz | Feb 11 | 4 min | Link | [ ] |
Solana Anchor Program IDL | Jeffrey Scholz | Feb 10 | 5 min | Link | [ ] |
Arithmetic and Basic Types in Solana and Rust | Jeffrey Scholz | Feb 9 | 5 min | Link | [ ] |
Solana Hello World (Installation and Troubleshooting) | Jeffrey Scholz | Feb 8 | 5 min | Link | [ ] |
Layer 2 Calldata Gas Optimization | Rati Montreewat | Jan 30 | 6 min | Link | [ ] |
How Chainlink Price Feeds Work | Jeffrey Scholz | Jan 11 | 3 min | Link | [ ] |
How Compound V3 Allocates COMP Rewards | Jeffrey Scholz | Jan 10 | 5 min | Link | [ ] |
Bulkers in Compound V3 | Jeffrey Scholz | Jan 9 | 3 min | Link | [ ] |
Understanding Collateral, Liquidations, and Reserves in Compound V3 | Jeffrey Scholz | Jan 8 | 7 min | Link | [ ] |
cUSDC V3 (Compound V3) as a non-standard Rebasing Token, CometExt.sol | Jeffrey Scholz | Jan 7 | 4 min | Link | [ ] |
DeFi Interest Rate Indexes: Principal value and Present Value in Compound V3 | Jeffrey Scholz | Jan 5 | 5 min | Link | [ ] |
Compound V3 Interest Per Second | Jeffrey Scholz | Jan 4 | 4 min | Link | [ ] |
The Architecture of the Compound V3 Smart Contract | Jeffrey Scholz | Jan 3 | 7 min | Link | [ ] |
DeFi Lending: Liquidations and Collateral | Jeffrey Scholz | Dec 30, 2023 | 8 min | Link | [ ] |
The Fallback Extension Pattern | Jeffrey Scholz | Dec 28, 2023 | 2 min | Link | [ ] |
EIP 1967 Storage Slots for Proxies | Jeffrey Scholz | Dec 20, 2023 | 4 min | Link | [ ] |
The interest rate model of AAVE V3 and Compound V2 | Jeffrey Scholz | Dec 1, 2023 | 5 min | Link | [ ] |
The second preimage attack for Merkle Trees in Solidity | Jeffrey Scholz | Nov 24, 2023 | 3 min | Link | [ ] |
The staking algorithm of Sushiswap MasterChef and Synthetix | Jeffrey Scholz | Nov 21, 2023 | 8 min | Link | [ ] |
Uniswap V2 Architecture: An Introduction to Automated Market Makers | Jeffrey Scholz | Nov 15, 2023 | 6 min | Link | [ ] |
How Uniswap V2 computes the mintFee | Jeffrey Scholz | Nov 14, 2023 | 4 min | Link | [ ] |
Uniswap v2 router code walkthrough | Jeffrey Scholz | Nov 10, 2023 | 6 min | Link | [ ] |
Top Smart Contract Audit Firms with Interesting Value Propositions | Jeffrey Scholz | Nov 9, 2023 | 3 min | Link | [ ] |
A comprehensive guide to the ERC 721 standard and related security issues | Jeffrey Scholz | Nov 8, 2023 | 9 min | Link | [ ] |
Flash Loans and how to hack them: a walk through of ERC 3156 | Jeffrey Scholz | Nov 7, 2023 | 8 min | Link | [ ] |
UniswapV2Library Code Walkthrough | Jeffrey Scholz | Nov 6, 2023 | 2 min | Link | [ ] |
How the TWAP Oracle in Uniswap v2 Works | - | Nov 3, 2023 | 6 min | Link | [ ] |
Checklist for building a Uniswap V2 clone | - | Nov 1, 2023 | 2 min | Link | [ ] |
Uniswap V2 Mint and Burn Functions Explained | Jeffrey Scholz | Oct 30, 2023 | 6 min | Link | [ ] |
Breaking Down the Uniswap V2 Swap Function | Jeffrey Scholz | Oct 28, 2023 | 6 min | Link | [ ] |
How arithmetic circuits are used to verify zero knowledge proofs | Jeffrey Scholz | Oct 18, 2023 | 9 min | Link | [ ] |
What are Pedersen Commitments and How They Work | Jeffrey Scholz | Oct 13, 2023 | 8 min | Link | [ ] |
Circom language tutorial with circomlib walkthrough | Jeffrey Scholz | Sep 26, 2023 | 21 min | Link | [ ] |
Elliptic Curves over Finite Field | Jeffrey Scholz | Sep 19, 2023 | 17 min | Link | [ ] |
R1CS to Quadratic Arithmetic Program over a Finite Field in Python | Jeffrey Scholz | Sep 17, 2023 | 5 min | Link | [ ] |
Ten beginner project ideas after you learn Solidity | Jeffrey Scholz | Sep 10, 2023 | 5 min | Link | [ ] |
The RareSkills Book of Solidity Gas Optimization: 80+ Tips | Jeffrey Scholz | Sep 7, 2023 | 49 min | Link | [ ] |
Elliptic Curve Point Addition | - | Sep 1, 2023 | 10 min | Link | [ ] |
Groth16 Explained | Jeffrey Scholz | Aug 31, 2023 | 8 min | Link | [ ] |
Encrypted Evaluation of a Quadratic Arithmetic Program | - | Aug 28, 2023 | 4 min | Link | [ ] |
Building a Zero Knowledge Proof from an R1CS | Jeffrey Scholz | Aug 26, 2023 | 4 min | Link | [ ] |
Quadratic Arithmetic Programs | Jeffrey Scholz | Aug 23, 2023 | 20 min | Link | [ ] |
Connect Wagmi to localhost: testing dapps with Hardhat and Anvil | Jeffrey Scholz | Aug 22, 2023 | 3 min | Link | [ ] |
Rings and Fields: A programmer's perspective | Jeffrey Scholz | Aug 18, 2023 | 7 min | Link | [ ] |
Solidity Coding Standards | Jeffrey Scholz | Aug 12, 2023 | 5 min | Link | [ ] |
Viem React Js Example: Transfer, Mint, and View Blockchain State | Jeffrey Scholz | Aug 10, 2023 | 12 min | Link | [ ] |
Elementary Group Theory for Programmers | Jeffrey Scholz | Aug 1, 2023 | 11 min | Link | [ ] |
Encrypted Polynomial Evaluation | Jeffrey Scholz | Jul 26, 2023 | 5 min | Link | [ ] |
Elementary Set Theory and Abstract Algebra for Programmers | Jeffrey Scholz | Jul 25, 2023 | 21 min | Link | [ ] |
Why elliptic curve point addition in prime finite fields always lands on integers | Jeffrey Scholz | Jul 22, 2023 | 3 min | Link | [ ] |
Bilinear Pairings in Python, Solidity, and the EVM | Jeffrey Scholz | Jul 18, 2023 | 12 min | Link | [ ] |
Converting Algebraic Circuits to R1CS (Rank One Constraint System) | Jeffrey Scholz | Jul 11, 2023 | 13 min | Link | [ ] |
An comprehensive overview of smart contract audit tools | Jeffrey Scholz | Jul 4, 2023 | 31 min | Link | [ ] |
How Tornado Cash Works (Line by Line for Devs) | Jeffrey Scholz | Jun 27, 2023 | 24 min | Link | [ ] |
Getting a smart contract audit: what you need to know | Jeffrey Scholz | Jun 24, 2023 | 10 min | Link | [ ] |
ZK-addition-dapp with Noir and Nextjs | tanim0la | May 28, 2023 | 6 min | Link | [ ] |
Web3.js Example. Latest version 4.x. Transfer, Mint and Query the Blockchain | - | May 26, 2023 | 10 min | Link | [ ] |
Understanding smart contract metadata | - | May 25, 2023 | 4 min | Link | [ ] |
Solidity Interview Questions | Jeffrey Scholz | May 22, 2023 | 7 min | Link | [ ] |
Smart Contract Security | Jeffrey Scholz | May 5, 2023 | 39 min | Link | [ ] |
Invariant testing in foundry | Jeffrey Scholz | Apr 28, 2023 | 16 min | Link | [ ] |
Wagmi + ReactJS Example: Transfer Crypto and Mint an NFT | Jeffrey Scholz | Apr 24, 2023 | 3 min | Link | [ ] |
A free solidity tutorial for experienced programmers | Jeffrey Scholz | Apr 20, 2023 | 1 min | Link | [ ] |
Ethereum precompiled contracts | Jeffrey Scholz | Apr 16, 2023 | 5 min | Link | [ ] |
Solidity Mutation Testing | Jeffrey Scholz | Apr 14, 2023 | 5 min | Link | [ ] |
Solidity Signed Integer | Jeffrey Scholz | Apr 11, 2023 | 5 min | Link | [ ] |
Foundry Unit Tests | Jeffrey Scholz | Apr 11, 2023 | 12 min | Link | [ ] |
Solidity Staticcall EIP 214 | Jeffrey Scholz | Apr 10, 2023 | 3 min | Link | [ ] |
Openzeppelin Ownable: Use Ownable2Step Instead | Jeffrey Scholz | Apr 8, 2023 | 1 min | Link | [ ] |
Solidity test internal function | Jeffrey Scholz | Apr 6, 2023 | 3 min | Link | [ ] |
Uint256 max value | Jeffrey Scholz | Apr 2, 2023 | 2 min | Link | [ ] |
Solidity Events | Jeffrey Scholz | Apr 1, 2023 | 8 min | Link | [ ] |
EIP-2930 - Ethereum access list | Jeffrey Scholz | Mar 27, 2023 | 6 min | Link | [ ] |
EIP-150 and the 63/64 Rule for Gas | Jeffrey Scholz | Mar 23, 2023 | 4 min | Link | [ ] |
Verify Signature Solidity in Foundry | Jeffrey Scholz | Mar 8, 2023 | 1 min | Link | [ ] |
Convert gas to USD (Ethereum) | Jeffrey Scholz | Mar 7, 2023 | 3 min | Link | [ ] |
EIP-3448 MetaProxy Standard: Minimal Proxy with support for immutable metadata | Jeffrey Scholz | Mar 3, 2023 | 7 min | Link | [ ] |
Governance Contract in Solidity | Jeffrey Scholz | Feb 27, 2023 | 5 min | Link | [ ] |
ERC20 Votes: ERC5805 and ERC6372 | Jeffrey Scholz | Feb 23, 2023 | 4 min | Link | [ ] |
ERC20 Snapshot | Jeffrey Scholz | Feb 22, 2023 | 5 min | Link | [ ] |
EIP-1167: Minimal Proxy Standard with Initialization (Clone pattern) | Jeffrey Scholz | Feb 21, 2023 | 5 min | Link | [ ] |
A bootcamp with a job guarantee is a bad idea | Jeffrey Scholz | Feb 20, 2023 | 6 min | Link | [ ] |
ERC4626 Interface Explained | Jeffrey Scholz | Feb 17, 2023 | 9 min | Link | [ ] |
What makes blockchain immutable? | Jeffrey Scholz | Feb 10, 2023 | 5 min | Link | [ ] |
Mastering Solidity: Master the Computer Science Fundamentals First | Jeffrey Scholz | Feb 8, 2023 | 15 min | Link | [ ] |
Foundry forge coverage | Jeffrey Scholz | Feb 8, 2023 | 1 min | Link | [ ] |
Ethereum smart contract creation code | Jeffrey Scholz | Feb 6, 2023 | 11 min | Link | [ ] |
Solidity Gasleft | Jeffrey Scholz | Feb 4, 2023 | 5 min | Link | [ ] |
Generate Ethereum Address from Private Key Python | Jeffrey Scholz | Jan 30, 2023 | 3 min | Link | [ ] |
Smart contract creation cost | Jeffrey Scholz | Dec 31, 2022 | 5 min | Link | [ ] |
Web3 Careers Websites | Jeffrey Scholz | Dec 25, 2022 | 4 min | Link | [ ] |
Zero knowledge programming languages | - | Dec 22, 2022 | 8 min | Link | [ ] |
Where to find solidity reentrancy attacks | - | Dec 16, 2022 | 7 min | Link | [ ] |
Leetcode problems and questions - the best 50 | nathan6119 | Dec 8, 2022 | 3 min | Link | [ ] |
Solidity RSA signatures for aidrops and presales: Beating ECDSA and Merkle Trees in Gas Efficiency | Suthan Somadeva | Dec 7, 2022 | 8 min | Link | [ ] |
You don’t need Solidity to work in web3 | - | Dec 6, 2022 | 7 min | Link | [ ] |
Generate a random number with Solidity on the blockchain | - | Dec 2, 2022 | 4 min | Link | [ ] |
Solana Smart Contract Programming Language | Jeffrey Scholz | Dec 1, 2022 | 5 min | Link | [ ] |
The Solidity Engineer Salary is a Myth | Jeffrey Scholz | Nov 30, 2022 | 17 min | Link | [ ] |
9 Biggest Gas Guzzlers in Solidity on Ethereum | Jeffrey Scholz | Nov 30, 2022 | 4 min | Link | [ ] |
Solidity vs Rust | Jeffrey Scholz | Nov 24, 2022 | 5 min | Link | [ ] |
Blockchain - Top Web3 Job List | Jeffrey Scholz | Nov 21, 2022 | 5 min | Link | [ ] |
The fastest and most efficient way to learn Solana (for Solidity developers) | Jeffrey Scholz | Nov 17, 2022 | 4 min | Link | [ ] |
The blockchain shortage of developers is not real. | Jeffrey Scholz | Nov 11, 2022 | 5 min | Link | [ ] |
Learn Solidity: Easy to Learn, Hard to Master? | Jeffrey Scholz | Nov 8, 2022 | 3 min | Link | [ ] |
11 Reasons you should sign up for RareSkills bootcamp (as a developer) | Jeffrey Scholz | Oct 17, 2022 | 5 min | Link | [ ] |
Is web3 a fad? 5 reasons blockchain is a real innovation. | Jeffrey Scholz | Oct 14, 2022 | 5 min | Link | [ ] |
Three reasons learning web3 programming will make you a better web2 developer | Jeffrey Scholz | Oct 11, 2022 | 2 min | Link | [ ] |
When does learning become mastery? | Jeffrey Scholz | Oct 9, 2022 | 2 min | Link | [ ] |