本文详细介绍了以太坊Pectra升级后PoS质押和提款机制的原理和实现,对比分析Kiln质押合约的存款和提款操作,深入探讨了SSZ编码、Merkle Tree构建、存款流程、共识层操作、部分提款、待定部分提款和全部提款等关键概念和流程,并提及了EIP-7251和Consolidation机制。
本文介绍了如何使用cryo + clickhouse的组合进行以太坊数据分析,摆脱了对ifast数据源的依赖。
本文介绍了如何使用 Clickhouse 获取以太坊智能合约中的 Event 数据,包括数据清洗、数据导入和数据分析。重点介绍了如何提取和解析智能合约的 Event 日志,以及如何利用这些数据进行 ERC-20 代币交易频度、ERC-721 NFT 交易情况和 WETH 平衡等链上数据分析。
本文介绍了如何从零开始搭建一套基于 Clickhouse 的区块链历史数据分析系统,包括 Clickhouse 的环境搭建、数据导入(使用纯 SQL 代码和 JSON 处理)以及基础数据分析。文章详细讲解了如何使用 Clickhouse 导入和清洗区块链数据,特别是如何处理嵌套的 JSON 结构,最后进行了一些简单的数据分析实践。
本文深入分析了AAVE V3合约中的withdraw函数,详细解读了取款流程,并重点分析了executeWithdraw函数中的缓存更新、取款数额确定、取款验证、利率更新、代币燃烧以及质押属性处理等关键步骤。此外,文章还深入探讨了calculateUserAccountData函数的实现,包括用户账户数据的综合计算,为读者理解AAVE的提款机制提供了全面的技术解析。
withdraw
executeWithdraw
calculateUserAccountData
本文深入探讨了AAVE V3协议中位于src/protocol/libraries/math目录下的数学计算模块,特别是WadRayMath合约。文章详细讲解了Solidity中浮点数的表示和四则运算,单利和复利的计算方法(包括复利计算公式的推导),以及百分比的乘除运算,为读者提供了AAVE V3中数学计算模块的全面概览。
src/protocol/libraries/math
WadRayMath
本文深入分析了AAVE V3版本的存款智能合约,以supply函数为入口,详细介绍了存款流程中的数据缓存、状态更新(包括贴现因子更新和准备金计算)、校验设定、利率更新以及资产转移等关键步骤。同时,还分析了supplyWithPermit函数,展示了AAVE为了优化用户体验所做的努力。
supply
supplyWithPermit
本文详细介绍了在AAVE V3版本上进行质押和借贷的基本操作,包括具体步骤、利率计算公式,以及Isolation Mode和E-Mode的使用方法。文章不仅提供了DApp上的操作指南,还深入到合约层面,讲解了如何通过与AaveProtocolDataProvider合约交互获取关键参数,例如LTV、清算阈值和清算罚金等,并给出了相应的计算示例。
本文深入解析了EIP1167最小化代理合约的实现原理,尤其侧重于openzeppelin的实现版本,通过逐字节码分析,详细解释了合约生成和运行的底层机制,包括delegatecall的使用、calldata和returndata的处理,以及EVM的内存操作和字节码执行流程,旨在帮助读者理解EIP1167的运行机制。
本文深入探讨了EIP712结构化哈希的两种重要应用:Meta-transactions(通过EIP2771标准化,解决用户gas费用问题)和ERC20-Permit(由EIP2612规定,优化代币授权流程)。