All information was original created by 0xRajeev that he has developed from other public sources. This content is for the Secureum Epoch0 Bootcamp for Smart Contract auditng. The plan is to grow this over time. Pull requests accepted.
Information I would like to add (my wish list):
- Screenshots of each slide for each topic.
- The time in the youtube video that the topic is discussed.
- Links to the relevant topic on youtube at that specific point in the video.
- Text to speech of what is said for each topic by Rajeev in the videos
- Solidity example where applicable
- Add dapptool examples for relevant sections.
The impetus for this project was self-edification as well as providing better accessibility to the content 0xRajeev has produced. Plus, I really wanted to make some cool graphs and play with Obsidian. :)
If you open this in Obsidian you can graph the notes.
Mindmap Content
These pages do not load on Git but when they are loaded in Obsidian, They will all appear in-line making it easy to scroll through them in order.
Ethereum101
Week 1 -Blog Article
Article on "Ethereum 101"
Course Videos
Assignment
- Read the Ethereum whitepaper: https://ethereum.org/en/whitepaper/
- Read the Ethereum yellow paper: https://ethereum.github.io/yellowpaper/paper.pdf
- Read Chapters 1, 2, 3, 4, 6, 13 and 14 from “Mastering Ethereum”: https://github.com/ethereumbook/ethereumbook and other references in Secureum’s “Ethereum 101” article
- Browse through topics at https://ethereum.org/en/developers/docs/
- Explore blocks, transactions and other protocol internals at https://etherscan.io/
Quiz
Quiz Writeups
Solidity101
Week 2 -Blog Article
Article on "Solidity 101"
Course Videos
Assignment
- Read Chapter 7 from “Mastering Ethereum”: https://github.com/ethereumbook/ethereumbook/blob/develop/07smart-contracts-solidity.asciidoc
- Understand Solidity syntax and semantics implemented in OpenZeppelin’s ERC20 contract: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol
- Understand Solidity syntax and semantics implemented in OpenZeppelin’s ERC721 (NFT) contract: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol
- Understand Solidity syntax and semantics implemented in OpenZeppelin’s security-related contracts Ownable, Pausable and ReentrancyGuard: https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/access and https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/security
- Experiment with the various Solidity concepts using https://remix.ethereum.org/
Solidity201
Week 3 -Blog
Article on "Solidity 201"
Youtube Videos
Assignment
- Understand all the OpenZeppelin Library contracts (many of which are widely-used): https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts
- Understand Solidity syntax and semantics implemented in Uniswap V3 contracts and related dependencies: https://github.com/Uniswap/uniswap-v3-core/tree/main/contracts
- Understand Solidity syntax and semantics implemented in Fei Protocol contracts and related dependencies: https://github.com/fei-protocol/fei-protocol-core/tree/master/contracts
- Understand Solidity syntax and semantics implemented in Chainlink contracts and related dependencies: https://github.com/smartcontractkit/chainlink/tree/develop/contracts/src/v0.4
- Understand Solidity syntax and semantics implemented in Opyn Gamma Protocol contracts and related dependencies: https://github.com/opynfinance/GammaProtocol/tree/master/contracts/core
Quiz
- Week 4 quiz
Quiz Writeups
Week 4
Blog
Youtube Videos
Assignment
Quiz
- Week 4 quiz
Quiz Writeups
Week 5
Blog
Youtube Videos
Assignment
Quiz
- Week 5 quiz
Quiz Writeups
Week 6
Blog
Youtube Videos
Assignment
Quiz
- Week 6 quiz
Quiz Writeups
Week 7
Blog
Youtube Videos
Assignment
Quiz
- Week 7 quiz
Quiz Writeups
Week 8
Blog
Youtube Videos
Assignment
Quiz
- Week 8 quiz