Secureum Bootcamp Part 3: Solidity 201
Content
- Article on "Solidity 201": https://secureum.substack.com/p/solidity-201
- YouTube videos on "Solidity 201":
- Block 1: https://youtu.be/3bFgsmsQXrE
- Block 2: https://youtu.be/TqMIbouwePE
- Block 3: https://youtu.be/C0zBhTgppLQ
- Block 4: https://youtu.be/L_9Fk6HRwpU
- Block 5: https://youtu.be/0kx8M4u5980
Assignments
- 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
Thoughts
- Oof, I failed this part / quiz terribly (Solidity 101's quiz was only slightly better, but still bad enough to not pass the 50% grade ✍).
- In the meanwhile, I can admit that I am only a Solidity novice, and if I am to improve, I will need to get my hands dirty and START CODING. Theory is all fine, but alas, there is no substitute for practice... 💻
- Someone quit the bootcamp saying the format & quizzes are just not his cup of tea (i.e. a weekly list with approx. 101 items to cram + the quizzes seem to only be there to triage participant for the audit phase in December).
- I understand his point of view, plus, even though this bootcamp is open to anyone, it is not very reasonable to expect people without prior Computer Science training or coding experience to get up to speed with a entire programming language (plus all its ins and outs, or idiosyncrasies). Plus, you need to be able to do so in only a couple of hours per week 🤔 (of course, YMMV)