Recently, I have been relearning Solidity, consolidating the finer details, and writing a "WTF Solidity Tutorial" for newbies. Lectures are updated 1~3 times weekly.
Twitter: @WTFAcademy_ | @0xAA_Science
Community: Discord | Website: wtf.academy
Tutorials and codes are open-sourced on github: github.com/AmazingAng/WTFSolidity
NOTE: the English Version of WTF Solidity is preliminary and requires further community review.
Chapter 1: HelloWeb3 (3 lines of code):Code | Tutorial
Chapter 2: Value Type:Code | Tutorial
Chapter 3: Function (external/internal/public/private, pure/view, payable):Code | Tutorial
Chapter 4: Function Return (returns/return):Code | Tutorial
Chapter 5: Data Location (storage/memory/calldata):Code | Tutorial
Chapter 6: Array and Sruct:Code | Tutorial
Chapter 7: Mapping:Code | Tutorial
Chapter 8: Default Value:Code | Tutorial
Chapter 9: Constant (constant/immutable):Code | Tutorial
Chapter 10: Control Flow:Code | Tutorial
Chapter 11: Modifier:Code | Tutorial
Chapter 12: Event:Code | Tutorial
Chapter 13: Inheritance:Code | Tutorial
Chapter 14: Interface:Code | Tutorial
Chapter 15: Errors:Code | Tutorial
Chapter 16: Function Overloading:Code | Tutorial
Chapter 17: Library:Code | Tutorial
Chapter 18: Import:Code | Tutorial
Chapter 19: Receive ETH (fallback/receive):Code | Tutorial
Chapter 20: Send ETH (transfer/send/call):Code | Tutorial
Chapter 21: Call Other Contracts:Code | Tutorial
Chapter 22: Call:Code | Tutorial
Chapter 23: Delegatecall:Code | Tutorial
Chapter 24: Create Contracts in Another Contract:Code | Tutorial
Chapter 25: Create2:Code | Tutorial
Chapter 26: Delete Contract:Code | Tutorial
Chapter 27: ABI Encode/Decode:Code | Tutorial
Chapter 28: Hash:Code | Tutorial
Chapter 29: Function Selector:Code | Tutorial
Chapter 30: Try-Catch:Code | Tutorial
Chapter 31: ERC20:Code | Tutorial
Chapter 32: Token Faucet:Code | Tutorial
Chapter 32: Airdrop:Code | Tutorial
Chapter 34: ERC721:Code | Tutorial
Chapter 35: Dutch Auction:Code | Tutorial
Chapter 36: Merkle Tree:Code | Tutorial
Chapter 37: Signature:Code | Tutorial
Chapter 38: NFT Swap:Code | Tutorial
Chapter 39: Random Number:Code | Tutorial
Chapter 40: ERC1155:Code | Tutorial
Chapter 41: WETH:Code | Tutorial
Chapter 42: Payment Split:Code | Tutorial
Chapter 43: Linear Vesting:Code | Tutorial
Chapter 44: Token Lock:Code | Tutorial
Chapter 45: Time Lock:Code | Tutorial
Chapter 46: Proxy Contract:Code | Tutorial
Chapter 47: Upgradeable Contract:Code | Tutorial
Chapter 48: Transparent Proxy:Code | Tutorial
Chapter 49: UUPS:Code | Tutorial