本文主要介绍了使用Python的pandas库处理大型数据集(1.2亿行)时遇到的内存问题,并提供了一系列优化方案,包括纯Python方法、PyPy、pandas结合PyArrow等,最终通过按年分割数据并使用PyArrow实现,在较低的内存占用下显著提升了处理速度。文章还讨论了其他可能的优化方向,如使用不同的编程语言、数据格式或分布式计算框架。
本文介绍了如何使用 CosmosGraph 进行大规模以太坊交易数据的图可视化,以及使用 cozodb 图数据库进行图数据分析。文章详细说明了 cozodb 的安装、数据清洗、数据查询以及如何使用图算法(如路径搜索和社群发现)进行链上数据分析,帮助读者理解 cozodb 的文档并进行相关研究。
本文介绍了如何使用 Clickhouse 获取以太坊智能合约中的 Event 数据,包括数据清洗、数据导入和数据分析。重点介绍了如何提取和解析智能合约的 Event 日志,以及如何利用这些数据进行 ERC-20 代币交易频度、ERC-721 NFT 交易情况和 WETH 平衡等链上数据分析。
本文深入分析了ERC721A合约的实现细节,包括数据结构、铸造、授权、转账和销毁等关键功能。ERC721A通过惰性初始化和对连续NFT的合并处理,在批量铸造时显著降低了Gas消耗,但也相应地将部分成本转移到了首次转账操作中。文章通过代码分析和图例,详细阐述了ERC721A的核心设计思想和实现方法。
本文介绍了如何从零开始搭建一套基于 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
本文介绍了如何使用基于GraphQL的basement免费API进行链上数据分析,包括GraphQL基础入门、Basement API实战、NFT元数据、NFT转账、NFT交易数据获取,以及最重要的交易数据检索,并通过一个铸造NFT项目的实战案例进行说明。
本文详细介绍了Python异步编程,包括异步的基本概念、编程模型(如链式调用、队列)、实现机制(生成器、yield from),以及结合多线程提高性能的方法。通过实例代码,展示了如何使用asyncio、aiohttp等库构建高效的异步爬虫,并探讨了异步编程的原理和优势。