Repo to wrap up some of my hands-on blockchain experience!
Building time!
- SlamJam Homerun: Program to connect SlamJam Homerun game with Solana. Written in Rust using Anchor Framework.
- Encode Graduation Project: Snake game dApp where players stake bets and winner takes pot. Play here. Used Hardhat.
- Encode Voting dApp: Fullstack Voting dApp application using Hardhat.
Playful approach to deep dive in some Ethereum concepts (ERC-20, ERC-721, UUPS, MultiSig Wallets) while building small projects and familiarizing with Foundry. Each project has the requirments and goals inside their readme.
- ERC-20 Swapper: Built a simple ERC-20 token swapper.
- ERC-721 English Auction: Built a simple NFT auction following English model.
- ERC-721 Dutch Auction: Built a simple NFT auction following Dutch model.
- ERC-20 Crowdfund: Built a simple ERC-20 crowdfund campaign.
- MultiSig Wallet: Built a simple MultiSig Wallet.
- UUPS: Implemented Universal Upgradeable Proxy Standard to keep state between different smart contract versions.
Recreating most common vulnerabilities and understanding preventive techniques to address them. Written in Foundry.
- Reentrancy: Reentrancy vulnerability with mutex and check-effects-interactions pattern prevention techniques.
- Unexpected Ether: Unexpected Ether vulnerability with internal tracking prevention technique.
- Private Variables: Understanding why anything stored in the blockchain is public.
- Unsafe Delegatecall: Understanding why delegatecalls are a serious security concern.
- Insecure Randomness: Understanding why on chain values are not a reliable source of entropy
- DoS: DoS vulnerability with pull-over-push pattern prevention technique.
- Bypass SC check: Understanding why we can't rely on EXTCODESIZE to allow only EOA calls.
Putting into practice security concepts learned so far. Each readme contains step by step solutions for most of the levels.
Optimizing the most out of contracts through Assembly and Yul!
- Encode Expert Exercise: Reduce Foundry Gas Report while mantaining functionality
- Encode Expert CTF: Challenge to solve and optimize 7 solidity exercises in one hour. Finished 7 out of 90 on the leaderboard!
Understanding how the EVM works under the hood with cool bytecode puzzles. Step by step solutions inside project readme.
What would practice be without theory? Here are some resources I used to leverage my building skills
- Roadmap: The roadmap I've been following for the last year. Currently on step 9 with Immunefi onboarding 😅
- Secureum Bootcamp
- Mastering Ethereum