Skip to content

Latest commit

 

History

History
 
 

en

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

中文 / Español / Português Brasileiro

WTF Solidity

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.

Intro

Chapter 1: HelloWeb3 (3 lines of code)Code | Tutorial

Chapter 2: Value TypeCode | 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 StructCode | Tutorial

Chapter 7: MappingCode | Tutorial

Chapter 8: Default ValueCode | Tutorial

Chapter 9: Constant (constant/immutable)Code | Tutorial

Chapter 10: Control FlowCode | Tutorial

Chapter 11: ModifierCode | Tutorial

Chapter 12: EventCode | Tutorial

Chapter 13: InheritanceCode | Tutorial

Chapter 14: InterfaceCode | Tutorial

Chapter 15: ErrorsCode | Tutorial

Advanced

Chapter 16: Function OverloadingCode | Tutorial

Chapter 17: LibraryCode | Tutorial

Chapter 18: ImportCode | Tutorial

Chapter 19: Receive ETH (fallback/receive)Code | Tutorial

Chapter 20: Send ETH (transfer/send/call)Code | Tutorial

Chapter 21: Call Other ContractsCode | Tutorial

Chapter 22: CallCode | Tutorial

Chapter 23: DelegatecallCode | Tutorial

Chapter 24: Create Contracts in Another ContractCode | Tutorial

Chapter 25: Create2Code | Tutorial

Chapter 26: Delete ContractCode | Tutorial

Chapter 27: ABI Encode/DecodeCode | Tutorial

Chapter 28: HashCode | Tutorial

Chapter 29: Function SelectorCode | Tutorial

Chapter 30: Try-CatchCode | Tutorial

Application

Chapter 31: ERC20Code | Tutorial

Chapter 32: Token FaucetCode | Tutorial

Chapter 32: AirdropCode | Tutorial

Chapter 34: ERC721Code | Tutorial

Chapter 35: Dutch AuctionCode | Tutorial

Chapter 36: Merkle TreeCode | Tutorial

Chapter 37: SignatureCode | Tutorial

Chapter 38: NFT SwapCode | Tutorial

Chapter 39: Random NumberCode | Tutorial

Chapter 40: ERC1155Code | Tutorial

Chapter 41: WETHCode | Tutorial

Chapter 42: Payment SplitCode | Tutorial

Chapter 43: Linear VestingCode | Tutorial

Chapter 44: Token LockCode | Tutorial

Chapter 45: Time LockCode | Tutorial

Degen

Chapter 46: Proxy ContractCode | Tutorial

Chapter 47: Upgradeable ContractCode | Tutorial

Chapter 48: Transparent ProxyCode | Tutorial

Chapter 49: UUPSCode | Tutorial

Chapter 50: Multisig WalletCode | Tutorial

Chapter 51: ERC4626 Tokenized VaultCode | Tutorial

Security

Chapter S1: Reentrancy AttackCode | Tutorial

Chapter S2: Selector ClashCode | Tutorial

Chapter S3: CentralizationCode | Tutorial

Chapter S4: Centralization RisksCode | Tutorial

Chapter S5: Integer OverflowCode | Tutorial

Chapter S6: Signature ReplayCode | Tutorial

Chapter S7: Bad RandomnessCode | Tutorial

Chapter S8: Contract Length Check BypassingCode | Tutorial

Chapter S9: Denial of Service (DoS)Code | Tutorial

Chapter S10: Honeypot / PixiuCode | Tutorial

Chapter S11: Front-runningCode | Tutorial

Chapter S12: tx.origin Phishing AttackCode | Tutorial

Chapter S13: Unchecked Low-Level CallsCode | Tutorial

Chapter S14: Block Timestamp ManipulationCode | Tutorial

Chapter S15: Oracle ManipulationCode | Tutorial

Chapter S16: NFT Reentrancy AttackCode | Tutorial

WTF Contributors

Contributors are the basis of WTF Academy

Reference