"Where there's a will, there's a way."
This repository is a collection of various materials and tools that I use in my daily learning about blockchain, smart contract development, and DeFi. It brings together a lot of useful information. It is an invaluable collection of knowledge for me and I check it often.
It is mainly for experienced developers who are interested in learning smart contract development and DeFi related skills, as well as blockchain industry practitioners and smart contract developers.
If you find something which doesn't make sense, or something doesn't seem right, please make a pull request and please add valid and well-reasoned explanations about your changes or comments.
đź“” The Book of Secret Knowledge Project from @trimstray
The concept, file structure, header design, logo design and foreword formats of this project were all inspired by The Book of Secret Knowledge project from @trimstray.
🎖️ Badges 4 README.md Profile Project from @alexandresanlim
The badge design and GitHub Sponsor settings for this project were inspired by the Badges 4 README.md Profile project and its author @alexandresanlim.
2. Smart Contract Development (Solidity)
- 2.1 Documentations
- 2.2 Solidity & Foundry Tutorials (Free Course)
- 2.3 Solidity Learning Toolkit
- 2.4 Solidity Learning Challenges & Games
Notice: The table of contents is still being updated...
1. Ethereum [TOC]
2. Smart Contract Development (Solidity) [TOC]
- Smart Contract Security - Cyfrin Updraft
- Assembly and Formal Verification - Cyfrin Updraft
- Smart Contract DevOps - Cyfrin Updraft
2.4.1 Speed Run Ethereum from BuidlGuidl
Summary: Speed Run Ethereum is an interactive learning platform designed to teach developers how to build decentralized applications (dApps) on Ethereum.
Techstack: It uses a series of hands-on coding challenges based on Scaffold-ETH 2 to guide users through the development process, focusing on key blockchain concepts such as smart contract creation, deployment, and testing with Solidity and Hardhat.
To Join the BuidlGuidl: It is necessary to successfully complete the first five challenges and pass the automated tests in order to join the BuidlGuidl with the wallet address used to pass the challenges (signature is required when submitting the results of the challenge).
2.4.2 BuidlGuidl Batches
Summary: BuidlGuidl Batches is a program designed for builders who have completed (at least the first five challenges of) Speed Run Ethereum and joined the BuidlGuidl. It's the next step for Web3 developers within the BuidlGuidl, offering additional challenges and skills to enhance your abilities.
3. DeFi [TOC]
A quick guide for building a Uniswap-V1-liked AMM based DEX with code examples
Notice: The Uniswap V1 contracts were written in Vyper, not Solidity.
- Programming DeFi: Uniswap. Part 1
- Programming DeFi: Uniswap. Part 2
- Programming DeFi: Uniswap. Part 3
Notice: It is recommended to read the three tutorials in this section first, and if interested follow the tutorials to try to write the Solidity smart contract code that implements the core functionality of Uniswap V1.
- Uniswap/v2-core: Core Smart Contracts of Uniswap V2
- Uniswap/v2-periphery: Peripheral Smart Contracts for Interacting with Uniswap V2
- Programming DeFi: Uniswap V2. Part 1
- Programming DeFi: Uniswap V2. Part 2
- Programming DeFi: Uniswap V2. Part 3
- Programming DeFi: Uniswap V2. Part 4
- Uniswap/v3-core: Core Smart Contracts of Uniswap V3
- Uniswap/v3-periphery: Peripheral Smart Contracts for Interacting with Uniswap V3
4. Upgradeable Smart Contract [TOC]
TODO: Filling Contents
- OpenZeppelin Upgrades Plugins - Using with Foundry
- OpenZeppelin Upgrades Plugins - Writing Upgradeable Contracts
- OpenZeppelin Upgrades Plugins - Frequently Asked Questions