:globe_with_meridians: **[English](https://github.com/AmazingAng/WTF-Solidity/tree/main/Languages/en/README.md) / [Español](https://github.com/AmazingAng/WTF-Solidity/tree/main/Languages/es/README.md) / [Português Brasileiro](./Languages/pt-br/README.md)** :globe_with_meridians:

# WTF Solidity

我最近在重新学Solidity，巩固一下细节，也写一个“WTF Solidity极简入门”，供小白们使用（编程大佬可以另找教程），每周更新1-3讲。

路线图根据本仓库star数量来定：

- [x] 64 :star: 建立社群：[discord](https://discord.gg/5akcruXrsk) | [微信群](https://docs.google.com/forms/d/e/1FAIpQLSe4KGT8Sh6sJ7hedQRuIYirOoZK_85miz3dw7vA1-YjodgJ-A/viewform)

- [ ] 128 :star: 录教学视频

- [x] 256 :star: 出进阶内容

- [x] 512 :star: 发布官网: [wtf.academy](https://wtf.academy)

- [x] 1024 :star: 发课程认证`SBT`: [Learning Center](https://wtf.academy/courses)

- [ ] 2048 :star: 发社群NFT

## 入门

**第1讲：三行代码HelloWeb3**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/01_HelloWeb3) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/01_HelloWeb3/readme.md)

**第2讲：值类型**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/02_ValueTypes) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/02_ValueTypes/readme.md)

**第3讲：函数 (external/internal/public/private, pure/view, payable)**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/03_Function) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/03_Function/readme.md)

**第4讲：函数输出（returns/return）**：[代码](https://github.com/AmazingAng/WTF-Solidity/tree/main/04_Return) | [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/04_Return/readme.md)

**第5讲：变量作用域和数据存储 (storage/memory/calldata)**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/05_DataStorage) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/05_DataStorage/readme.md)

**第6讲：数组（array）和结构体（struct）**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/06_ArrayAndStruct) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/06_ArrayAndStruct/readme.md)

**第7讲：映射（mapping）**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/07_Mapping) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/07_Mapping/readme.md)

**第8讲：变量初始值**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/08_InitialValue) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/08_InitialValue/readme.md)

**第9讲：常量（constant/immutable）**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/09_Constant) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/09_Constant/readme.md)

**第10讲：控制流和插入排序**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/10_InsertionSort) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/10_InsertionSort/readme.md)

**第11讲：构造函数（constructor）和修饰器（modifier）**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/11_Modifier) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/11_Modifier/readme.md)

**第12讲：事件（events）**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/12_Event) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/12_Event/readme.md)

**第13讲：继承**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/13_Inheritance) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/13_Inheritance/readme.md)

**第14讲：抽象合约（abstract）和接口（interface）**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/14_Interface) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/14_Interface/readme.md)

**第15讲：异常（errors）**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/15_Errors) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/15_Errors/readme.md)

## 进阶

**第16讲：函数重载**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/16_Overloading) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/16_Overloading/readme.md)

**第17讲：库合约（library）**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/17_Library) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/17_Library/readme.md)

**第18讲：Import**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/18_Import) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/18_Import/readme.md)

**第19讲：接收ETH（fallback/receive）**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/19_Fallback) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/19_Fallback/readme.md)

**第20讲：发送ETH（transfer/send/call）**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/20_SendETH) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/20_SendETH/readme.md)

**第21讲：调用其他合约**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/21_CallContract) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/21_CallContract/readme.md)

**第22讲：Call**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/22_Call) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/22_Call/readme.md)

**第23讲：Delegatecall**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/23_Delegatecall) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/23_Delegatecall/readme.md)

**第24讲：在合约中创建新合约**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/24_Create) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/24_Create/readme.md)

**第25讲：Create2**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/25_Create2) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/25_Create2/readme.md)

**第26讲：删除合约**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/26_DeleteContract) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/26_DeleteContract/readme.md)

**第27讲：ABI编码解码**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/27_ABIEncode) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/27_ABIEncode/readme.md)

**第28讲：Hash**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/28_Hash) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/28_Hash/readme.md)

**第29讲：函数选择器（selector）**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/29_Selector) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/29_Selector/readme.md)

**第30讲：Try-Catch**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/30_TryCatch) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/30_TryCatch/readme.md)

## 应用

**第31讲：ERC20**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/31_ERC20) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/31_ERC20/readme.md)

**第32讲：代币水龙头**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/32_Faucet) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/32_Faucet/readme.md)

**第33讲：空投合约**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/33_Airdrop) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/33_Airdrop/readme.md)

**第34讲：ERC721**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/34_ERC721) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/34_ERC721/readme.md)

**第35讲：荷兰拍卖**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/35_DutchAuction) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/35_DutchAuction/readme.md)

**第36讲：Merkle Tree**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/36_MerkleTree) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/36_MerkleTree/readme.md)

**第37讲：数字签名**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/37_Signature) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/37_Signature/readme.md)

**第38讲：NFT交易所**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/38_NFTSwap) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/38_NFTSwap/readme.md)

**第39讲：随机数**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/39_Random) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/39_Random/readme.md)

**第40讲：ERC1155**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/40_ERC1155) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/40_ERC1155/readme.md)

**第41讲：WETH**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/41_WETH) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/41_WETH/readme.md)

**第42讲：分账**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/42_PaymentSplit) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/42_PaymentSplit/readme.md)

**第43讲：线性释放**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/43_TokenVesting) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/43_TokenVesting/readme.md)

**第44讲：代币锁**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/44_TokenLocker) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/44_TokenLocker/readme.md)

**第45讲：时间锁**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/45_Timelock) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/45_Timelock/readme.md)

## Degen

**第46讲：代理合约**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/46_ProxyContract) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/46_ProxyContract/readme.md)

**第47讲：可升级合约**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/47_Upgrade) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/47_Upgrade/readme.md)

**第48讲：透明代理**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/48_TransparentProxy) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/48_TransparentProxy/readme.md)

**第49讲：通用可升级代理UUPS**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/49_UUPS) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/49_UUPS/readme.md)

**第50讲：多签钱包**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/50_MultisigWallet) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/50_MultisigWallet/readme.md)

**第51讲：ERC4626 代币化金库**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/51_ERC4626) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/51_ERC4626/readme.md)

**第52讲：EIP712 类型化数据签名**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/52_EIP712) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/52_EIP712/readme.md)

**第53讲：ERC2612 ERC20Permit**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/53_ERC20Permit) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/53_ERC20Permit/readme.md)

**第54讲：跨链桥**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/54_CrossChainBridge) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/54_CrossChainBridge/readme.md)

**第55讲：多重调用**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/55_MultiCall) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/55_MultiCall/readme.md)

**第56讲：去中心化交易所**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/56_DEX) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/56_DEX/readme.md)

**第57讲：闪电贷**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/57_Flashloan) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/57_Flashloan/readme.md)

## 合约安全

**S01：重入攻击**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S01_ReentrancyAttack) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S01_ReentrancyAttack/readme.md)

**S02：选择器碰撞**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S02_SelectorClash) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S02_SelectorClash/readme.md)

**S03：中心化**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S03_Centralization) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S03_Centralization/readme.md)

**S04：权限管理**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S04_AccessControlExploit) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S04_AccessControlExploit/readme.md)

**S05：整型溢出**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S05_Overflow) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S05_Overflow/readme.md)

**S06：签名重放**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S06_SignatureReplay) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S06_SignatureReplay/readme.md)

**S07：坏随机数**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S07_BadRandomness) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S07_BadRandomness/readme.md)

**S08：绕过合约检查**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S08_ContractCheck) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S08_ContractCheck/readme.md)

**S09：拒绝服务漏洞**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S09_DoS) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S09_DoS/readme.md)

**S10：貔貅 Honeypot**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S10_Honeypot) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S10_Honeypot/readme.md)

**S11：抢先交易**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S11_Frontrun) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S11_Frontrun/readme.md)

**S12：tx.origin钓鱼**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S12_TxOrigin) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S12_TxOrigin/readme.md)

**S13：未检查的低级调用**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S13_UncheckedCall) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S13_UncheckedCall/readme.md)

**S14：操纵区块时间**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S14_TimeManipulation) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S14_TimeManipulation/readme.md)

**S15：操纵预言机**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S15_OracleManipulation) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S15_OracleManipulation/readme.md)

**S16：NFT重入攻击**：[代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/S16_NFTReentrancy) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S16_NFTReentrancy/readme.md)

**S17：“跨服”重入攻击**：[文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/S17_CrossReentrancy/readme.md)

## EVM 操作码

**OP01：Hello Opcodes**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/01_HelloOpcodes) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/01_HelloOpcodes/readme.md)

**OP02：Opcodes分类**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/02_Categories) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/02_Categories/readme.md)

**OP03：堆栈指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/03_StackOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/03_StackOp/readme.md)

**OP04：算术指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/04_ArithmeticOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/04_ArithmeticOp/readme.md)

**OP05：比较指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/05_ComparisonOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/05_ComparisonOp/readme.md)

**OP06：位级指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/06_BitwiseOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/06_BitwiseOp/readme.md)

**OP07：内存指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/07_MemoryOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/07_MemoryOp/readme.md)

**OP08：存储指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/08_StorageOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/08_StorageOp/readme.md)

**OP09：控制流指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/09_FlowOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/09_FlowOp/readme.md)

**OP10：区块信息指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/10_BlockOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/10_BlockOp/readme.md)

**OP11：堆栈指令2**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/11_StackOp2) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/11_StackOp2/readme.md)

**OP12：SHA3指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/12_SHA3) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/12_SHA3/readme.md)

**OP13：账户指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/13_AccountOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/13_AccountOp/readme.md)

**OP14：交易指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/14_TxOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/14_TxOp/readme.md)

**OP15：Log指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/15_LogOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/15_LogOp/readme.md)

**OP16：Return指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/16_ReturnOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/16_ReturnOp/readme.md)

**OP17：Revert指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/17_RevertOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/17_RevertOp/readme.md)

**OP18：Call指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/18_CallOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/18_CallOp/readme.md)

**OP19：Delegatecall指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/19_DelegatecallOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/19_DelegatecallOp/readme.md)

**OP20：Staticcall指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/20_StaticcallOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/20_StaticcallOp/readme.md)

**OP21：Create指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/21_Create) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/21_Create/readme.md)

**OP22：Create2指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/22_Create2) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/22_Create2/readme.md)

**OP23：Selfdestruct指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/23_SelfdestructOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/23_SelfdestructOp/readme.md)

**OP24：Gas指令**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/24_GasOp) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/24_GasOp/readme.md)

**OP25：优化最小代理合约 EIP-7511**：[代码](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/25_MinimalProxy) | [文章](https://github.com/WTFAcademy/WTF-Opcodes/blob/main/25_MinimalProxy/readme.md)

## Solidity 内部规则

**SI01：基础存储布局**：[代码](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/src/01_ValueStorage.sol) | [文章](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/tutorials/01_ValueStorage/readme.md)

**SI02：映射和动态数组的存储布局**：[代码](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/src/02_MappingStorage.sol) | [文章](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/tutorials/02_MappingStorage/readme.md)

**SI03：字节数组和字符串的存储布局**：[代码](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/src/03_BytesStorage.sol) | [文章](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/tutorials/03_BytesStorage/readme.md)

**SI04：内存布局**：[代码](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/src/04_MemoryLayout.sol) | [文章](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/tutorials/04_MemoryLayout/readme.md)

**SI05：ABI编码基础**：[代码](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/src/05_AbiEncode.sol) | [文章](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/tutorials/05_AbiEncode/readme.md)

**SI06：动态类型的ABI编码**：[代码](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/src/06_AbiDynamic.sol) | [文章](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/tutorials/06_AbiDynamic/readme.md)

**SI07：ABI编码公式**：[代码](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/src/07_AbiFormula.sol) | [文章](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/tutorials/07_AbiFormula/readme.md)

**SI08：calldata/returndata的ABI编码**：[代码](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/src/08_AbiCalldata.sol) | [文章](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/tutorials/08_AbiCalldata/readme.md)

**SI09：事件的ABI编码**：[代码](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/src/09_AbiEvent.sol) | [文章](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/tutorials/09_AbiEvent/readme.md)

**SI10：Error的ABI编码**：[代码](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/src/10_AbiError.sol) | [文章](https://github.com/WTFAcademy/WTF-Solidity-Internals/blob/master/tutorials/10_AbiError/readme.md)

## 主题

### 开发工具

**第1讲：Remix, 最易用的Solidity IDE** [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Tools/TOOL01_Remix)

**第2讲：Infura, 连接链下与链上的桥梁** [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Tools/TOOL02_Infura/readme.md)

**第3讲：Ganache，搭建本地测试网络** [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/Tools/TOOL03_Ganache/readme.md)

**第4讲：Alchemy, 区块链API和节点基础设施** [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/Tools/TOOL04_Alchemy/readme.md)

**第5讲：Dune，使用Dune可视化区块链数据** [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/Tools/TOOL05_Dune/readme.md)

**第6讲：Hardhat，以太坊开发环境** [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/Tools/TOOL06_Hardhat/readme.md)

**第7讲：Foundry，以Solidity为中心的开发工具包** [代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/Tools/TOOL07_Foundry) | [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/Tools/TOOL07_Foundry/readme.md)

**第8讲：ZAN，节点服务和合约审计等Web3技术服务** [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/Tools/TOOL08_ZAN/readme.md)

### 链上威胁分析

**第1讲：工具篇** [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug//01_tools/) | [英文文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug/01_tools/en/)

**第2讲：热身篇** [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug/02_warmup/) | [英文文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug/02_warmup/en/)

**第3讲：漏洞概念验证-上篇** [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug/03_write_your_own_poc/) | [英文文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug/03_write_your_own_poc/en/)

**第4讲：漏洞概念验证-中篇** [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug/04_write_your_own_poc/) | [英文文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug/04_write_your_own_poc/en/)

**第5讲：漏洞概念验证-下篇** [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug/05_write_your_own_poc/) | [英文文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug/05_write_your_own_poc/en/)

**第6讲：Rugpull 分析** [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug/06_Rugpull/) | [英文文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug/06_Rugpull/en/)

**第7讲：Nomad 跨链桥事件分析** [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug/07_analysis_bridge/)| [英文文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/Onchain_debug/07_analysis_bridge/en/)

### NFT

**第1讲：ERC721库：Address, Strings, Context** [代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/ERC721) | [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/ERC721/1_related_libraries/readme.md)

**第2讲：ERC721相关接口** [代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/ERC721) | [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/ERC721/2_Related_interface/readme.md)

**第3讲：ERC721主合约** [代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/ERC721/ERC721.sol) | [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/ERC721/3_Erc721_main_contract/readme.md)

**第4讲：BAYC主合约和严重漏洞** [代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/ERC721/BAYC.sol) | [文章](https://mirror.xyz/wtfacademy.eth/_buBOQflWtHDpLbg18Fp8zLe8AmLiPka2y-UhppK_u0)

**第5讲：Loot** [代码](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/ERC721/5_Loot/Loot.sol) | [文章](https://github.com/AmazingAng/WTF-Solidity/tree/main/Topics/ERC721/5_Loot/readme.md)

### 翻译

**第1讲：MetaMask项目方给Solidity程序员的16个安全建议** [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/Translation/Consensys2020)

**第2讲：深入EVM** [文章](https://github.com/AmazingAng/WTF-Solidity/blob/main/Topics/Translation/DiveEVM2017)

## WTF贡献者



## 捐赠

- 学院国库地址 Ethereum/Optimism/zkSync/Scroll/BSC/evm兼容链地址: 0x25df6da2f4e5c178ddff45038378c0b08e0bce54
- [Mirror](https://mirror.xyz/wtfacademy.eth/WfM30QbSWB2_-9t98g05unTmb_2ZXucOAZMPDa7MX48)

## 参考

- [Solidity 官方文档](https://docs.soliditylang.org/en/v0.8.17/)
- [Solidity By Example](https://solidity-by-example.org/)
  - [中文版](https://github.com/Web3-Club/solidity-by-example_Chinese)
- [OpenZeppelin Contract](https://github.com/OpenZeppelin/openzeppelin-contracts)
- [solmate](https://github.com/transmissions11/solmate)
- [Chainlink Docs](https://docs.chain.link/)
- [Safe Contracts](https://github.com/safe-global/safe-contracts)
- [DeFi Hack Labs](https://github.com/SunWeb3Sec/DeFiHackLabs)
- [rekt news](https://rekt.news/zh/)