文章归档
共 114 篇文章
2026 年 六月
Uniswap V3 第1章 简介:集中流动性与 V2 的根本区别
介绍 Uniswap V3 的核心创新——集中流动性,讲清它与 V2 的根本区别、tick 与价格区间的概念,以及合约架构。
Uniswap V3 第2章 现货价:slot0、sqrtPriceX96 与 tick
讲清 Uniswap V3 如何存储价格:slot0 里的 sqrtPriceX96 和 tick,为什么存价格的平方根,以及三者之间的换算。
Uniswap V3 第3章 数学:集中流动性的核心方程
推导 Uniswap V3 集中流动性的核心方程:流动性 L 与 token 数量和价格的关系、虚拟储备、以及区间内 x 和 y 的计算。
Uniswap V3 第4章 兑换:跨 tick 的 swap 算法
讲解 Uniswap V3 的 swap 算法:单区间内的价格移动、跨 tick 时 liquidityNet 如何切换流动性、swap 手续费,以及 SwapRouter 的定输入/定输出。
Uniswap V3 第6章 流动性:NFT 头寸的增删与领费
讲解 Uniswap V3 如何通过 NonfungiblePositionManager 铸造 NFT 头寸、增减流动性、领取手续费,以及 pool 的 mint/burn/collect。
Uniswap V3 第5章 工厂:费率档位与 tickSpacing
讲解 Uniswap V3 Factory:按 (token0, token1, fee) 创建池子、费率档位与 tickSpacing 的对应关系,以及同一对代币的多池设计。
Uniswap V3 第7章 Tick 位图:高效查找下一个流动性边界
讲解 Uniswap V3 如何用 tick bitmap 位图在 swap 跨 tick 时高效地找到下一个已初始化的 tick。
Uniswap V3 第8章 费用算法:feeGrowth 如何公平分配手续费
讲解 Uniswap V3 最精妙的费用追踪机制:feeGrowthGlobal、feeGrowthOutside、feeGrowthInside,以及如何只给"价格经过其区间"的 LP 分配手续费。
Uniswap V3 第10章 TWAP 预言机:tickCumulative 与 observe
讲解 Uniswap V3 内置的 TWAP 价格预言机:tickCumulative 累积、observe 查询、几何平均价,以及相比 V2 的改进。
Uniswap V3 第9章 闪电贷:pool.flash 借出与归还
讲解 Uniswap V3 的闪电贷 pool.flash:如何从池子借出任意代币、在同一笔交易内归还本金加手续费,以及回调机制。
Uniswap V3 第11章 附录:JIT 流动性与套利
介绍 Uniswap V3 的两个进阶话题:JIT(即时)流动性攻击/策略,以及 V3 上的套利思路。
Uniswap V2 第1章 总览:恒定乘积与合约架构
介绍 Uniswap V2 的恒定乘积做市原理、核心与外围合约的分工,以及 Pair/Factory/Router 的整体架构。
Uniswap V2 第2章 兑换:amountOut 公式、手续费与 pair.swap
推导 Uniswap V2 含 0.3% 手续费的 getAmountOut/getAmountIn 公式,讲解多跳路由、pair.swap 如何守住 k,以及滑点的来源。
Uniswap V2 第3章 创建交易对:Factory 与 CREATE2
讲解 Uniswap V2 Factory 如何用 createPair 创建交易对、为何用 CREATE2 让池子地址可预测,以及每对代币唯一池子的保证。
Uniswap V2 第7章 TWAP:抗操纵的时间加权平均价预言机
讲解 Uniswap V2 的累积价格机制如何构建时间加权平均价(TWAP)预言机,为什么它能抵抗瞬时价格操纵。
Uniswap V2 第4章 添加流动性:LP 铸造与几何平均
讲解 Uniswap V2 如何铸造 LP token:首次用几何平均 √(x·y)、后续按比例取最小值,以及最小流动性锁定的设计。
Uniswap V2 第6章 闪电兑换:先拿币后付款
讲解 Uniswap V2 的 flash swap:pair.swap 的乐观转账机制、回调 uniswapV2Call、还款金额与手续费计算。
Uniswap V2 第8章 应用:闪电兑换套利
把 swap 与 flash swap 串起来,构建一个跨池/跨 DEX 的套利合约:普通版与零本金的闪电兑换版。
Uniswap V2 第5章 移除流动性:按比例销毁 LP
讲解 Uniswap V2 如何销毁 LP token 按比例取回两种代币,burn 的数学,以及为什么移除流动性不收手续费。
Rocket Pool rETH 集成 第1章 简介:课程总览
介绍 Rocket Pool rETH 集成课程的目标、四个实战项目(Aave 杠杆、Balancer/Aura、rETH NAV、EigenLayer),以及所需前置知识。
Rocket Pool rETH 集成 第2章 理解 rETH:铸造、汇率与风险
深入理解 rETH:增值型代币的汇率机制、如何铸造与赎回、二级市场获取、deposit pool 限制,以及集成时要注意的风险。
Rocket Pool rETH 集成 第4章 Balancer 与 Aura 流动性
把 rETH 存进 Balancer rETH/WETH 池做 LP,再质押到 Aura 赚取叠加激励:池子类型、加入/退出、BPT、Aura 收益增强机制。
Rocket Pool rETH 集成 第3章 Aave 闪电贷杠杆
用 Aave 闪电贷与 rETH 抵押构建杠杆质押策略:原理、循环杠杆、一笔闪电贷开仓、清算风险与健康因子。
Rocket Pool rETH 集成 第5章 rETH 净值(NAV)
讲解如何在链上正确计算 rETH 的净值:公允汇率 vs 市场价、为什么估值要用 getExchangeRate、以及预言机选择与安全。
Rocket Pool rETH 集成 第6章 EigenLayer 再质押
把 rETH 存进 EigenLayer 做再质押(restaking):再质押原理、AVS 与运营商、StrategyManager 存取流程、收益与额外的罚没风险。
Rocket Pool rETH 集成 第7章 附录:风险叠加与最佳实践
总结 rETH 集成开发中的风险叠加(智能合约/汇率/清算/罚没)、收益叠加全景,以及集成开发的最佳实践与安全清单。
2026 年 五月
Curve V1 第2章 数学基础:StableSwap 不变量与牛顿法求 D
拆解 Curve V1 (StableSwap) 的核心不变量方程,讲透参数 A 如何在恒定和与恒定乘积间插值,以及合约如何用牛顿迭代求解 D 和 y。
Curve V1 第5章 添加流动性:LP 铸造与失衡费
讲解 Curve V1 如何用不变量 D 的增量决定 3CRV 铸造数量,以及为什么不按比例存入会被收取失衡费来保护现有 LP。
Curve V1 第4章 兑换:exchange、get_y 与手续费
跟着 exchange 走一遍 Curve V1 的兑换流程,理解 get_y 如何在 D 不变下反解换出量,以及 Curve 在输出币上收取手续费的细节。
Curve V1 第6章 移除流动性:按比例、按数量与单币三种方式
讲清 Curve V1 三种取回流动性的方式:remove_liquidity(按比例免费)、remove_liquidity_imbalance(按数量收费)、remove_liquidity_one_coin(单币收费)及其数学。
Curve V1 第3章 合约总览:A、D、_xp 与关键视图函数
梳理 StableSwap3Pool 合约结构:参数 A 如何缓慢 ramp,_xp 如何统一精度,get_virtual_price 与 calc_token_amount 各自的用途。
Curve Cryptoswap 第2章 数学基础:不变量、gamma 与流动性集中
拆解 Curve V2 不变量公式,讲透 K/gamma 如何缝合恒定和与恒定乘积,以及 price_scale 如何让流动性集中并自动重锚。
Curve Cryptoswap 第3章 合约总览:三合约架构与状态变量打包
梳理 Curve V2 的主合约/数学库/视图库三件套,讲解状态变量为何用位运算打包省 gas,以及 A、gamma 为何要缓慢 ramp。
Curve Cryptoswap 第6章 移除流动性:按比例与单币两种方式
对比 remove_liquidity(按比例、免费)与 remove_liquidity_one_coin(单币、收失衡费)两条取回路径的数学与代价。
Curve Cryptoswap 第5章 添加流动性:LP 铸造与失衡费
讲解如何用不变量 D 的增量决定 LP 铸造数量,以及为什么不按比例存入会被收取失衡费来保护现有 LP。
Curve Cryptoswap 第4章 兑换机制:get_y 定价与动态手续费
跟着 exchange 函数走一遍兑换流程,理解如何用不变量反解换出量,以及随池子失衡程度自动变化的动态手续费。
Curve Cryptoswap 第7章 价格重锚:EMA 预言机与 tweak_price
揭开重锚机制:抗操纵的 EMA 内部预言机、tweak_price 的利润与距离两道闸门、price_scale 小步移动与 xcp_profit 盈亏记录。
Curve Cryptoswap 第8章(附录)用隐函数求导推导 AMM 现货价
用隐函数求导这一统一技巧,推导恒定和、恒定乘积、Curve V1/V2 的现货价 dy/dx,理解 get_p 的本质。
2026 年 四月
2026 年 三月
Solidity 智能合约元数据详解
理解附加在字节码末尾的 CBOR 元数据:IPFS 哈希、编译器版本、用途与移除方法
智能合约部署成本详解:六大 Gas 组成部分
拆解合约创建的全部 Gas 来源:基础费、创建费、存储初始化、calldata、初始化执行与代码存储
以太坊合约创建码详解:init code 如何部署 runtime code
理解创建码三段结构、init code 如何返回运行时代码、构造参数与 immutable 的字节码处理
EIP-150 与 Gas 转发的 63/64 规则详解
理解调用深度攻击、每层调用保留 1/64 Gas 的机制及其对嵌套调用与 gas griefing 的影响
EIP-2930 访问列表交易详解:预热存储槽省 Gas
理解冷热访问成本、访问列表如何预声明地址与存储槽节省跨合约调用的 Gas 及其陷阱
Solidity Gas 优化技巧终极清单
系统梳理存储、部署、跨合约调用、calldata、汇编与编译器层面的全部 Gas 优化手段
2025 年 十二月
Compound V3(Comet)架构详解
理解 V3 单一可借基础资产、隔离市场、不可变参数与 Comet/Configurator/Factory 合约体系
Compound V3 每秒利率模型详解
理解基于利用率的拐点(kink)分段利率、供需利率独立计算与每秒到年化的换算
Compound V3 本金、现值与利率指数详解
理解用一个增长的乘数指数追踪利息,避免逐账户更新余额的省 Gas 记账机制
cUSDC V3(Comet)作为非标准 Rebasing 代币与 CometExt.sol
理解余额随利息无声增长、二元授权、现值计价与 CometExt 扩展模式的非标准 ERC20 设计
Compound V3 Bulker 详解:把多笔操作打包进一笔交易
理解 invoke 批量动作、ETH 包装、非托管设计与 msg.value 循环的双花安全考量
Compound V3 抵押品、清算与储备金详解
理解清算因子、isLiquidatable 判定、absorb 全额吸收、buyCollateral 折价购买与储备金策略
Compound V3 奖励系统(COMP)详解
理解 MasterChef 式的追踪指数、每秒奖励速率、最低门槛保护与 CometRewards 领取机制
2025 年 十月
2025 年 八月
ABI 编码详解:函数调用数据是如何打包的
深入理解 abi.encode、encodePacked、函数选择器与静态/动态类型的字节布局规则
Solidity 底层 call 详解:与接口调用的区别
理解 .call 的返回值、失败不自动回滚、调用空地址的陷阱与 call/staticcall/delegatecall 区别
EVM 存储布局详解:插槽、打包与 Yul 读写
理解 EVM 256 位存储插槽的分配规则、变量打包优化与 sload/sstore 底层操作
Delegatecall 深度解析:借用代码、共享存储
彻底理解 delegatecall 如何在调用者上下文执行目标代码、存储冲突风险与 immutable 陷阱
ERC-1967 详解:代理合约的标准存储插槽
理解 implementation/admin/beacon 三个标准插槽的 keccak256 推导与防冲突原理
ERC-7201 命名空间存储布局详解
用命名空间结构体把存储根从插槽0迁走,彻底解决继承与升级中的存储冲突
透明可升级代理(Transparent Proxy)详解
理解函数选择器冲突问题、用 msg.sender 路由解决冲突、ProxyAdmin 与 upgradeToAndCall
Beacon 代理(Beacon Proxy)详解:一次升级所有代理
理解信标合约如何集中存储实现地址,让海量代理通过一笔交易同时升级
ERC-3448 MetaProxy 详解:把参数烧进字节码的克隆
理解 MetaProxy 如何在克隆字节码尾部追加不可变元数据,省去初始化交易与存储写入
noDelegateCall 修饰符详解:阻止你的代码被别人 delegatecall
理解 Uniswap V3 如何用 address(this) 与 immutable 原始地址比对来防止合约被克隆盗用
EIP-1167 最小代理(Clone)详解:55 字节的克隆魔法
逐字节拆解最小代理字节码、initialize 初始化模式与工厂批量克隆的省 Gas 原理
2025 年 七月
Solidity 变异测试详解:用故意制造的 bug 检验测试质量
理解变异测试如何通过注入变异体衡量测试套件质量、变异分数与 vertigo 等工具
默克尔树第二原像攻击详解
理解中间节点冒充叶子伪造证明的攻击原理,以及域分离与双重哈希的防御
Solidity 预编译合约详解
理解 0x01-0x0a 各预编译合约(ecrecover/sha256/modexp/椭圆曲线运算等)及其调用方式
Solidity RSA 签名详解:在 Gas 效率上击败 ECDSA 与默克尔树
理解用 RSA 做空投/预售白名单的原理、modexp 预编译、与 ECDSA/默克尔树的 Gas 对比
Tornado Cash 工作原理详解:承诺-作废符与零知识混币
理解承诺-作废符方案、增量默克尔树、zk-SNARK 取款证明、中继器与匿名集
Foundry 不变量测试详解
理解有状态模糊测试、handler 模式、targetContract/bound/ghost 变量与真实不变量案例
2025 年 五月
Uniswap V2 架构详解:最常被 Fork 的 DeFi 协议
深入理解 AMM 自动做市商原理与 Uniswap V2 的工厂、配对、路由三大合约架构设计
Uniswap V2 交易价格冲击:AMM 兑换结算价的计算
用恒定乘积公式逐步推导一笔 swap 实际能换到多少代币,理解滑点与手续费的数学本质
Uniswap V2 Swap 函数深度解析
逐段拆解 swap 函数:先转出后验证的设计、闪电贷机制、含手续费的 K 不变量校验
Uniswap V2 Mint 与 Burn 函数:LP 份额的铸造与销毁
解析 LP 代币的数学:首次注资的几何平均数、后续注资的最小比例法、按比例赎回与通胀攻击防御
Uniswap V2 协议费 mintFee 机制详解
解析从未启用却被无数 fork 沿用的协议费设计:用流动性增长量一次性结算 1/6 的手续费分成
Uniswap V2 TWAP 预言机:时间加权平均价格详解
理解抗闪电贷操纵的链上价格预言机:累积价格、UQ112x112 定点数与溢出安全的模运算原理
UniswapV2Library 工具库详解
逐函数拆解 getAmountOut/getAmountIn/getAmountsOut 等八个无状态辅助函数及其背后的恒定乘积数学
Uniswap V2 Router 路由合约详解
面向用户的外围合约:滑点保护、deadline、多跳交换、ETH 与转账收费代币支持、Permit 免授权
从零构建 Uniswap V2 克隆:完整 Checklist 与现代化改进
用现代 Solidity 重写 Uniswap V2 的实战清单:安全、取整方向、重入防护与 Gas 优化要点
2025 年 四月
DeFi 质押算法深度学习指导
深入解析 DeFi 质押奖励分配算法,结合 SushiSwap MasterChef 与 Synthetix,系统讲解累积器、奖励债务、精度处理、安全设计及 Solidity 实现。
Solidity定点数算术完全指南
深入解析Solidity中定点数算术的原理与实现,涵盖Solady/Solmate/ABDK/UniswapV2库的对比分析及向上取整策略
How Chainlink Price Feeds Work
深入解析 Chainlink 价格预言机的合约架构、数据流转机制与链上使用方法
Flash Loans and ERC-3156: Complete Overview
深入解析闪电贷原理、ERC-3156标准规范、完整实现方式及关键安全漏洞防御措施
Aave V3 与 Compound V2 利率模型详解
从资金利用率出发,逐步理解 DeFi 借贷协议的动态利率与拐点模型
2025 年 三月
OpenZeppelin-Ownable2Step-学习文档
深入解析 OpenZeppelin Ownable2Step 两步式所有权转移机制,说明其如何降低地址填错和所有权丢失风险。
solidity-测试internal函数-学习文档
讲解 Solidity internal 函数的测试方法,比较 Harness 合约模式、测试合约继承等方案的适用场景与优缺点。
solidity-重入攻击全景-学习文档
系统梳理 Solidity 重入攻击的发生条件、常见入口、四种攻击类型及防御方式,覆盖 ETH 转账与 Token 回调场景。
ERC-1363 Payable Token:一笔交易完成转账与回调
深入解析 ERC-1363 Payable Token 标准,了解 transferAndCall/approveAndCall 如何将 ERC-20 的两步操作合并为一步,附接口定义、回调机制与实战合约示例。
Solidity重入攻击开发者指南2️⃣
面向 Solidity 开发者通俗讲解重入攻击的执行模型、常见漏洞入口、修复方案、自查清单与攻击测试思路。
solidity-有符号整数-学习文档
深入学习 Solidity 有符号整数类型,涵盖二进制补码、取值范围、除法取模规则、类型转换与常见陷阱。
ERC721 Enumerable:链上 NFT 可枚举扩展详解
深入解析 ERC721 Enumerable 扩展标准,涵盖核心接口、Swap and Pop 数据结构、Mint/Transfer/Burn 状态维护及 Gas 开销分析,附完整合约示例。
Solidity重入攻击开发者指南1️⃣
从 EVM 执行模型出发讲解 Solidity 重入攻击,覆盖经典 ETH 提款漏洞、CEI 修复模式及外部回调风险识别。
2025 年 一月
链上资金管理:PaymentSplit、Vesting 与 TimeLock
学习 PaymentSplit 按比例分账、TokenVesting 线性归属释放和 TokenLocker 时间锁等链上资金管理设计模式。
多签钱包(MultiSig Wallet)实现详解
从零实现多签钱包智能合约,理解 M-of-N 多签机制、交易提案与确认流程及 Gnosis Safe 设计原理。
代理模式与可升级合约
掌握可升级合约的三种代理模式:基础代理、简单升级代理与透明代理,理解 DelegateCall 与存储槽冲突问题。
EIP-712 结构化数据签名
学习 EIP-712 结构化数据签名标准,让用户在钱包中看到可读的签名内容,有效防止钓鱼攻击。
ERC-2612 Permit:链下授权签名
解析 ERC-2612 Permit 标准,通过链下签名替代 approve 交易,实现单笔交易完成授权与操作。
ERC-1155 多代币标准完全学习指南(下)
ERC-1155 详细学习指南下篇,深入讲解同质化/非同质化资产区分、转账安全规则及实战开发注意事项。
ERC-1155 多代币标准完全学习指南(上)
ERC-1155 多代币标准完整指南上篇,涵盖核心设计思想、数据结构、接口详解、事件系统与接收者钩子机制。
Chainlink CCIP 跨链互操作协议详解
深入学习 Chainlink CCIP 跨链互操作协议,包括架构设计、消息传递机制、跨链代币转移及智能合约开发实践。
2024 年 十二月
以太坊 Gas 机制与 EIP-1559 详解
Gas 是以太坊的计算燃料,深入解析 Gas 定价机制、BaseFee 动态调整及 EIP-1559 改革对交易费用的影响。
Solidity ABI 编码与解码详解
详解 Solidity ABI 编码规则,包括静态/动态类型、32字节对齐原则及 abi.encode/decode 的实用技巧。
MasterChef与Synthetix质押算法深度解析
详解SushiSwap MasterChef和Synthetix的质押奖励分配算法,包括累计每代币奖励计数器、奖励债务机制及Gas优化策略
ERC-4626规范总结
从程序员视角深入解析 ERC-4626 代币化金库标准,涵盖核心接口、取整方向规则、首位存款人攻击等安全问题及防御方案。
Solidity 检测地址是合约还是 EOA 账户
介绍三种检测以太坊地址类型的方法:address.code.length、tx.origin 与 msg.sender 对比及 codehash 检测。
Solidity 转账方法与 OpenZeppelin SafeERC20 详解
详解 ETH 原生转账三种方式(transfer/send/call)的区别,以及 OpenZeppelin SafeERC20 安全转账封装实践。
数字签名(ECDSA)与 NFT 白名单
深入讲解以太坊 ECDSA 数字签名原理,演示如何用链下签名 + 链上验证实现 NFT 白名单铸造。