⛽ Gas优化·终极指南
30章
🧑🏫 友好色系
第1章
Gas基础概念
↗
Gas Limit
Gas Price
EIP-1559
优化重要性
第2章
存储布局优化
↗
变量打包
Storage Slots
声明顺序
第3章
数据类型选择
↗
uint256 vs uint8
bytes32 vs bytes
string vs bytes
第4章
内存与存储
↗
memory/storage/calldata
calldata使用
避免存储读写
第5章
循环优化
↗
for vs while
避免重复计算
减少状态读取
第6章
映射与数组
↗
mapping vs array
push/pop
Gas对比
第7章
函数修饰符
↗
view/pure
external/public
payable代价
第8章
事件(Event)优化
↗
indexed参数
批量发射
存储权衡
第9章
错误处理
↗
require/revert/assert
Custom Error
错误消息开销
第10章
继承与库
↗
继承开销
Library使用
内联对比
避免钻石继承
第11章
修饰符(Modifier)优化
↗
Modifier成本
vs内联函数
代码优化
第12章
数学运算优化
↗
乘除 vs 移位
避免模运算
预计算常量
第13章
短路优化
↗
逻辑短路
if条件优化
require短路
第14章
函数选择器优化
↗
函数签名哈希
选择器碰撞
命名优化
第15章
ABI编码优化
↗
abi.encode vs encodePacked
abi.decode
紧凑编码
第16章
委托调用(delegatecall)
↗
delegatecall成本
代理模式
透明代理 vs UUPS
第17章
CREATE与CREATE2
↗
部署成本
CREATE2优势
预计算地址
第18章
自毁函数(selfdestruct)
↗
Gas退还
EIP-6780
替代方案
第19章
Gas代币与Gas退款
↗
Gas代币原理
退款机制
EIP-3529
第20章
批量操作
↗
批量转账
批量铸造
批量授权
Gas节省原理
第21章
链上数据压缩
↗
时间戳压缩
地址压缩
数值压缩
状态通道
第22章
Merkle树优化
↗
Merkle证明Gas
vs链上存储
批量验证
第23章
签名验证优化
↗
ECDSA成本
EIP-712
批量验证
第24章
时间锁与延迟
↗
时间锁成本
时间锁优化
vs多签
第25章
治理优化
↗
投票成本
委托投票
批量投票
治理代币优化
第26章
NFT优化
↗
ERC-721 vs 1155
元数据存储
批量铸造
Lazy Minting
第27章
DeFi优化
↗
AMM优化
借贷优化
闪电贷
聚合器
第28章
Layer2与Gas
↗
Rollup机制
Optimistic vs ZK
跨链Gas
L2策略
第29章
Gas监控与分析工具
↗
Hardhat Gas Reporter
Tenderly
Etherscan
Foundry
第30章
综合实战案例
↗
完整优化案例
原始vs优化
节省百分比
测试验证