Footprint Analytics 是一个全面的区块链数据分析平台,简化了 Web3 项目的分析和社区管理,实现可持续增长。
![Cover image for 1.5[Intermediate] Iceberg-Trino 如何解决链上数据面临的挑战](https://img.paragraph.com/cdn-cgi/image/format=auto,width=3840,quality=85/https://storage.googleapis.com/papyrus_images/5f9d4430fcd78103e346b51a95d59f17df5ed3a8d9b08ea412a1d2ba116f9247.jpg)
1.5[Intermediate] Iceberg-Trino 如何解决链上数据面临的挑战
此文章是 #Web3 data 系列 的其中一个章节。链上数据处理面临的挑战区块链数据公司,在索引以及处理链上数据时,可能会面临一些挑战,包括:海量数据。随着区块链上数据量的增加,数据索引将需要扩大规模以处理增加的负载并提供对数据的有效访问。因此,它导致了更高的存储成本;缓慢的指标计算和增加数据库服务器的负载。复杂的数据生产流程。区块链技术是复杂的,建立一个全面和可靠的数据索引需要对底层数据结构和算法有深刻的理解。这是由区块链实现方式的多样性所决定的。举一个具体的例子,以太坊中的 NFT 通常是在遵循 ERC721 和 ERC1155 格式的智能合约中进行创建的,而像Polkadot 上通常是直接在区块链运行时间内构建的。对于用户来说,不管是任何形式的存在,这些数据应该被视为 NFT 的交易,需要被存储,并且处理为可读状态,方便分析以及进行计算。集成能力。为了给用户提供最大的价值,区块链索引解决方案可能需要将其数据索引与其他系统集成,如分析平台或 API。这很有挑战性,需要在架构设计上投入大量精力。随着区块链技术的使用越来越广泛,存储在区块链上的数据量也在增加。这是因为更多的人在...

区块链游戏概览:回顾 2023,展望 2024
作者:lesley@footprint.network 数据来源:区块链游戏年报关键要点今年,比特币(BTC)市值从上年的低谷中强劲回升,相较之下,区块链游戏市场的增长虽然较为平淡,但年末也迎来了显著的上升势头。今年的游戏中,仅有 6% 的游戏拥有超过 1,000 个活跃钱包,相比去年的 10% 有所减少。2023 年,尽管整体交易量比 2022 年的高点有所下降,交易次数却相对稳定。2023 年,区块链游戏行业正在发展,而 AI 也在深刻改变着这一行业。Layer 2 区块链也发展迅速,但 BNB 链等老牌区块链仍占据市场。市场正在期待顶尖区块链游戏的出现,GambleFi 或许将迎来增长,但仍需面对监管挑战。在用户获取上,利用 Telegram 和 X(Twitter)等社交平台平台来触达庞大用户群体已成为一种趋势区块链游戏是 Web3 领域对于大众普及的重要催化剂,在简化复杂概念、让人们理解区块链技术上发挥着重要作用。与其他领域不同,传统游戏里早已存在的游戏货币和道具概念,使区块链游戏成为普罗大众更易理解和接受的 Web3 普及方案。 尽管 2023 年区块链游戏市场交易量...

如何使用Footrace 钱包监控功能和设置自定义的交易警报
本文将介绍如何使用 Footrace 监控 CEX 的钱包地址并设置自定义警报。 2022-06-12 本文将介绍如何使用 Footrace 监控 CEX 的钱包地址并设置自定义警报。 什么是 Footrace? Footrace (Foot Trace) 是一个多链的钱包追踪监控平台,可以监控CEX、DEX、鲸鱼、聪明钱、或任何你想关注的地址的钱包。 Footrace 帮助投资者保护他们的投资并监控异常的市场和资金流动。您可以设置自定义警报,通过电子邮件、电报、Discord、SMS 等向您发送重要的资金流通知和警报。Footrace 中心化交易所监控页Footrace目前监控了 122 交易所的资金流活动及其钱包余额。包括了中心化和去中心化交易所的地址数据。由于这些交易所和基金可能会添加新的钱包地址,用户可以使用Footrace的钱包地址的功能来添加 Footrace 缺少的任何钱包地址。Footrace 地址提交工具 如何开始监控?钱包余额在监控交易所时,钱包余额是需要仔细关注的指标之一。具有大量钱包余额的交易所通常意味著有大量的客户,并反映出市场对此加密货币交易所的高度信...
![Cover image for 1.5[Intermediate] Iceberg-Trino 如何解决链上数据面临的挑战](https://img.paragraph.com/cdn-cgi/image/format=auto,width=3840,quality=85/https://storage.googleapis.com/papyrus_images/5f9d4430fcd78103e346b51a95d59f17df5ed3a8d9b08ea412a1d2ba116f9247.jpg)
1.5[Intermediate] Iceberg-Trino 如何解决链上数据面临的挑战
此文章是 #Web3 data 系列 的其中一个章节。链上数据处理面临的挑战区块链数据公司,在索引以及处理链上数据时,可能会面临一些挑战,包括:海量数据。随着区块链上数据量的增加,数据索引将需要扩大规模以处理增加的负载并提供对数据的有效访问。因此,它导致了更高的存储成本;缓慢的指标计算和增加数据库服务器的负载。复杂的数据生产流程。区块链技术是复杂的,建立一个全面和可靠的数据索引需要对底层数据结构和算法有深刻的理解。这是由区块链实现方式的多样性所决定的。举一个具体的例子,以太坊中的 NFT 通常是在遵循 ERC721 和 ERC1155 格式的智能合约中进行创建的,而像Polkadot 上通常是直接在区块链运行时间内构建的。对于用户来说,不管是任何形式的存在,这些数据应该被视为 NFT 的交易,需要被存储,并且处理为可读状态,方便分析以及进行计算。集成能力。为了给用户提供最大的价值,区块链索引解决方案可能需要将其数据索引与其他系统集成,如分析平台或 API。这很有挑战性,需要在架构设计上投入大量精力。随着区块链技术的使用越来越广泛,存储在区块链上的数据量也在增加。这是因为更多的人在...

区块链游戏概览:回顾 2023,展望 2024
作者:lesley@footprint.network 数据来源:区块链游戏年报关键要点今年,比特币(BTC)市值从上年的低谷中强劲回升,相较之下,区块链游戏市场的增长虽然较为平淡,但年末也迎来了显著的上升势头。今年的游戏中,仅有 6% 的游戏拥有超过 1,000 个活跃钱包,相比去年的 10% 有所减少。2023 年,尽管整体交易量比 2022 年的高点有所下降,交易次数却相对稳定。2023 年,区块链游戏行业正在发展,而 AI 也在深刻改变着这一行业。Layer 2 区块链也发展迅速,但 BNB 链等老牌区块链仍占据市场。市场正在期待顶尖区块链游戏的出现,GambleFi 或许将迎来增长,但仍需面对监管挑战。在用户获取上,利用 Telegram 和 X(Twitter)等社交平台平台来触达庞大用户群体已成为一种趋势区块链游戏是 Web3 领域对于大众普及的重要催化剂,在简化复杂概念、让人们理解区块链技术上发挥着重要作用。与其他领域不同,传统游戏里早已存在的游戏货币和道具概念,使区块链游戏成为普罗大众更易理解和接受的 Web3 普及方案。 尽管 2023 年区块链游戏市场交易量...

如何使用Footrace 钱包监控功能和设置自定义的交易警报
本文将介绍如何使用 Footrace 监控 CEX 的钱包地址并设置自定义警报。 2022-06-12 本文将介绍如何使用 Footrace 监控 CEX 的钱包地址并设置自定义警报。 什么是 Footrace? Footrace (Foot Trace) 是一个多链的钱包追踪监控平台,可以监控CEX、DEX、鲸鱼、聪明钱、或任何你想关注的地址的钱包。 Footrace 帮助投资者保护他们的投资并监控异常的市场和资金流动。您可以设置自定义警报,通过电子邮件、电报、Discord、SMS 等向您发送重要的资金流通知和警报。Footrace 中心化交易所监控页Footrace目前监控了 122 交易所的资金流活动及其钱包余额。包括了中心化和去中心化交易所的地址数据。由于这些交易所和基金可能会添加新的钱包地址,用户可以使用Footrace的钱包地址的功能来添加 Footrace 缺少的任何钱包地址。Footrace 地址提交工具 如何开始监控?钱包余额在监控交易所时,钱包余额是需要仔细关注的指标之一。具有大量钱包余额的交易所通常意味著有大量的客户,并反映出市场对此加密货币交易所的高度信...
Footprint Analytics 是一个全面的区块链数据分析平台,简化了 Web3 项目的分析和社区管理,实现可持续增长。

Subscribe to Footprint Analytics

Subscribe to Footprint Analytics
<100 subscribers
<100 subscribers
Share Dialog
Share Dialog


此文章是 #Web3 data 系列 的其中一个章节。
在产品建设方面,数据所有权转移已迅速成为需要解决的关键问题之一。社交媒体平台滥用数据的现象频发,我们亟需建立方案来解决这一问题。鉴于此,区块链提供了一种功能,可以永恒地存储、转移数据,并创建市场,允许用户将其数据货币化。
区块链,首先是一种技术。取决于某个生态系统试图解决什么问题,技术的实施方案可以有很大的不同。一些区块链试图专注于性能,以可能取代传统的基础设施(例如,VISA每秒可以处理12,000笔交易),而其他区块链则把隐私作为金融基础设施的主要组成部分。是的,在全球范围内,任何区块链的核心都是具有一定存储能力的区块,当被填满时,会被关闭并与之前填满的区块相连,形成一个被称为区块链的数据链,但区块链之间的存储组织本身可以有根本的不同。以太坊的所有商业逻辑主要是通过智能合约实现的,而例如在波尔卡多,则是通过托盘来实现的。是的,即使纠结于同样的智能合约,比较一下,例如以太坊和Solana,首先,它们是用不同的编程语言编写的(以太坊是Solidity,Solana是RUST | C | C++),其次,它们实现的存储方法完全不同。
需求产生供给,随着使用Web3 数据的需求逐渐增加,为用户提供数据的平台也越来越受欢迎。大部分新数据平台,都是尽量降低入门门槛,尽量让开发者和分析师都满意。数据创业公司遵循的目标有很多,但最重要的也许是数据模型,因为用户的使用体验、查询执行速度和其他关键指标都取决于它。
本文将探讨 Footprint Analytics 的数据模型和目前最受欢迎的分析平台 Dune Analytics 提供的数据模型之间的实施差异。
处理区块链数据的平台有一个类似的ETL过程。这个过程的步骤是:
节点提供者将数据传输给索引器
处理原始数据
对原始数据进行抽象化
视觉化
在下面的部分,我们将更详细地研究每个步骤,并指出每个平台内实施的差异。
--- **NOTE** - 为了简单起见,下面所有的例子都是基于 EVM 链的--V2 版的 Dune 作为比较对象。 更多详情请见 - [Dune V2 - Dune Docs](https://dune.com/docs/reference/dune-v2/.) —
节点提供者是一个 "客户端 "软件,将它们连接到区块链的网络,使它们能够在其他节点之间来回发送信息,在某些情况下,验证交易和存储数据。为了接收这个 "新区块创建 "信息,必须有人运行一个区块链节点。为了确保新交易有足够高的处理速度,挑选一个可靠的 RPC 至关重要。对于节点提供方,我们所对比的这两个平台都是闭源的,所以很难说他们正在使用哪个节点提供者,或者是否自建节点。但大部分数据平台通常遵循的是一种混合选项:既使用节点提供者,又使用部署的本地节点。
作为下一步,从节点提供者那里收到包含区块链交易数据的哈希字节码。该字节码被解码并以原始形式保存。如果你曾经使用过[[block explorer]],你应该知道某个区块链所持有的原始数据。这些细节在不同的链之间是不同的,但是作为一个例子,大多数由以太坊虚拟机(EVM)驱动的链包括:
Blocks - 附加在链上的交易组
Transactions - 加密签名的区块链状态指令
Logs - 由智能合约创建的事件
Traces - 记录交易执行过程中发生的每一个事情
实际上,上述实体构成了区块链的全部内容。这表明,仅通过使用它们,任何去中心化的生态系统可能已经被充分分析。尽管这些表中的数据可以由人类读取(与字节码不同),但需要对区块链有深刻的理解。该平台将上述实体存储到以下表格中,作为ETL程序的一部分:
两个平台上的表数据,几乎都有相同的列,所以不同的查询可以基本上在平台之间重复使用。
https://www.footprint.network/chart/Latest-ethereum-transaction-fp-33365
https://dune.com/queries/1637400
任何 EVM 区块链上的大多数智能合约都是使用 Solidity 等高级编程语言创建的。它们必须被编译成 EVM 可执行字节码,然后才能在 EVM 执行环境中使用。一旦部署,字节码将永久存储在链的状态存储中,并分配给一个特定的地址。
客户端应用程序需要一个指南来调用高级语言中定义的功能,以便能够与这个智能合约进行互动,目前它只是字节码。一个应用二进制接口(ABI)被用来将名称和参数翻译成字节形式。ABI 正确记录了名称、类型和参数,允许客户端应用程序以人类相对可读的方式与智能合约沟通。可以利用高级编程语言的源代码来编译 ABI。TLDR:要调用智能合约或破译其产生的数据,请使用 ABI。
为了允许对正在发生的事情进行后向分析,区块链被设计为分析和存储事件。智能合约通过交易和消息调用发出过程中的事件,相互沟通。因此,查看事件通常是分析区块链上发生的各种事情的最简单和最方便的方法。
然而,偶尔会有重要的信息从发出的事件中被遗漏,或者根本没有事件。在这种情况下,分析师可能不得不求助于交易和消息调用(在原始表格中发现)。随着时间的推移,没有事件被发出的情况越来越少,因为现在的开发人员大多明白,事件对分析的重要性。但目前还是仍然存在遗漏的情况。在某些情况下,将解码后的数据与原始数据结合起来,以获得关于交易的元数据或更深入地研究,是有意义的。
对于要解码并添加到 Dune 数据集的合约,可以使用以下表格。智能合约上传表格 一旦合约被解析,与特定智能合约相关的调用和事件正在被保存到相应的表格中。
通常情况下,一个智能合约将有可能被另一个智能合约或外部拥有的账户(EOA)调用的功能。从直接的状态读取和返回到修改几个状态并触发对其他智能合约的消息调用,函数可以是任何东西。对智能合约的每一个消息调用和交易都可以在 Dune 上被解析为它们自己的表。然后,这些表被赋予以下名称:
事件日志是由智能合约在完成特定的预先定义动作时产生的。智能合约开发者已经预先定义了这些日志的结构,而内容是在整个交易过程中动态创建的。日志有助于跟踪智能合约内部的活动,并用于监测、警报和其他目的。
截至发稿时,Footprint 目前已支持 Ethereum 存储调用和事件的表。而其它公链的底层原始数据,连同 ABI 提交、合约解析需求提交,计划在2022年底前发布。
将原始数据转化为有洞察力的信息绝不是一件小事。虽然艰难,但并不是不可行的。建立和微调 ETL 模型只是许多数据企业家每天进行的工作中的一小部分。在试图转换原始数据的系统设计中,包括以下规格:
数据表,可以实时连续分析来自历史和实时的数据流,大大简化了生产数据科学的工作流程。
模式的执行,使表保持整洁有序,没有列的污染,并为机器学习做好准备。
模式演进,使现有的数据表增加新的列,而不会在生产中使用这些表时导致其中断。
数据版本,这使得审计、复制,甚至在必要时回滚任何Delta Lake表的变化,以避免人为错误带来的意外变化。
数据摄取("铜")、转换/特征开发("银")和业务汇总("金")是典型 ETL 的三个阶段,它们采用的表格与数据工程管道中的各种质量等级相关。这些表格一起被称为 "金银铜 "架构。
它使数据工程师能够创建一个流程,从未经处理的数据开始,并作为 "单一源",其他一切都通过它流动。即使下游用户清理了数据并添加了特定的上下文结构,也可以计算和检查进一步的转换和汇总,以确保业务层面的汇总表仍然反映基础数据。Dune 和 Footprint 都在工作流程中实施了以下方法,但形式上有很大的不同。
银以及金数据表在 Dune V2 上是使用魔法表(Spellbook)构建的. Spellbook 是一个社区构建的层。通过创建复杂的表的指令,处理广泛使用的用例,如NFT交易。抽象可以被物化为视图和表,但也有许多可能的细化,包括增量加载的表、日期分割的表等等。在 Page Not Found | dbt Developer Hub 中查看所有支持的具体化类型。数据完整性测试可以很容易地添加到 YAML 文件中,只需一行。关系完整性、非空值、独特的主键和接受的值都可以在模型上快速检查。Dbt 理解所有模型的原生依赖性。
Footprint
Footprint 则完成遵循金银铜结构中描述的方法。按数据的级别分组的做法如下:
铜数据是未经修改,未经处理的原始数据。 提供所有区块链活动的彻底记录。交易、日志、痕迹和其他数据,如 EVM 网络的情况,将以与区块链上的数据相同的方式存储在这里。虽然使用这些数据进行查询是可行的,但要有效地做到这一点,需要对智能合约的内部运作有扎实的掌握。与其他表格相比,这种类型的表格中的数据是最多的。因此,查询的处理意味着该数据的汇总将需要相当长的时间。
银数据是未经处理的青铜数据被转化为具有附加值的数据集。这可能需要将代码改为相关的值,增加合理性检查,消除不必要的数据,等等。这些表格旨在统一 EVM 和非 EVM 的数据标准,抽象出各领域的数据结构,并建立一个事实上的商业逻辑标准。NFT交易、以太坊代币转移、协议交易、合约信息等就是这样的几个表。这些表的主要优点是,在EVM和非EVM链之间,以及在不同的市场和协议之间切换很简单。这是因为数据在语义上被正确组织,使得没有任何原始区块链数据结构知识的人可以立即使用这些表。
金表是业务层面的数据聚合,直接解决某个领域的问题。在查询本身中不需要任何聚合(连接和合并,解码等),金表提供了一些统计指标,可以随时进行研究。指标可以按原样使用,节省了开发团队在开发、运行时计算以及数据验证和测试方面的时间,因为像活跃用户,新增用户和钱包地址的持有余额这样的统计数据的所有必要计算已经由 Footprint 完成。
DuneV2 改变了整个数据库架构。Dune 现在正从 PostgreSQL 数据库过渡到托管在[[Databricks]] 上的 [[Apache Spark]] 的 Instance。
Footprint Analytics在 [[Apache Iceberg]] 和 [[Trino]] 数据架构上工作。[[Apache Iceberg]] 是一种用于海量分析数据集的开放式表格格式。[[Trino]]是一个分布式 SQL 查询引擎,旨在查询分布在一个或多个不同结构数据源的大型数据集。
Dune 上所有的查询都需要通过 SQL 执行。

Footprint 是建立在 [[Metabase]] 之上的。该技术代码的开放性允许不同的用户对代码库做出贡献,从而开发和改进它,随后可以被其他用户使用。该技术本身实现了一个方便的拖放查询生成器。这大大降低了进入门槛,允许任何没有任何技术知识的用户使用该产品并提取商业价值。
值得注意的是,从架构上来说,Metabase 是对 SQL 代码的抽象,也就是说,任何通过拖放的请求都可以表示为 SQL 。因此,想要建立更复杂的查询的用户,或者喜欢用代码处理数据的用户,都可以在 Footprint 上直接使用 SQL。
可参考分析师 @escapist5563 在文章《5分钟快速对比头部链上数据分析平台》的介绍。
课后小测试
做个简单的小测试看看你掌握了多少知识吧!
测试题:请您分别使用Footprint Analytics的金银铜数据来制作一些数据图表。
通过这个链接 https://www.footprint.network/?channel=courses 注册Footprint,即可免费获得7天的高级账号,它能更好地辅助你完成测试题哦。
如何提交答案:欢迎加入我们的 Discord社区 提交你的答案,并与社区优秀分析师一起交流!如果答案优秀的话,你还有机会获得价值 $299 的月度高级账号哦。
** 推荐阅读**
Footprint Analytics 是首家 Crypto 领域支持无代码数据分析平台。平台还提供一个统一的数据 API,让用户可以快速检索超过22条公链生态的 NFT,GameFi 以及 DeFi 数据。
如果您对该课程有任何反馈或建议,您可以通过以下方式联系我们。
Footprint Website: https://www.footprint.network
Discord: https://discord.gg/3HYaR6USM7
Twitter: https://twitter.com/Footprint_Data
此文章是 #Web3 data 系列 的其中一个章节。
在产品建设方面,数据所有权转移已迅速成为需要解决的关键问题之一。社交媒体平台滥用数据的现象频发,我们亟需建立方案来解决这一问题。鉴于此,区块链提供了一种功能,可以永恒地存储、转移数据,并创建市场,允许用户将其数据货币化。
区块链,首先是一种技术。取决于某个生态系统试图解决什么问题,技术的实施方案可以有很大的不同。一些区块链试图专注于性能,以可能取代传统的基础设施(例如,VISA每秒可以处理12,000笔交易),而其他区块链则把隐私作为金融基础设施的主要组成部分。是的,在全球范围内,任何区块链的核心都是具有一定存储能力的区块,当被填满时,会被关闭并与之前填满的区块相连,形成一个被称为区块链的数据链,但区块链之间的存储组织本身可以有根本的不同。以太坊的所有商业逻辑主要是通过智能合约实现的,而例如在波尔卡多,则是通过托盘来实现的。是的,即使纠结于同样的智能合约,比较一下,例如以太坊和Solana,首先,它们是用不同的编程语言编写的(以太坊是Solidity,Solana是RUST | C | C++),其次,它们实现的存储方法完全不同。
需求产生供给,随着使用Web3 数据的需求逐渐增加,为用户提供数据的平台也越来越受欢迎。大部分新数据平台,都是尽量降低入门门槛,尽量让开发者和分析师都满意。数据创业公司遵循的目标有很多,但最重要的也许是数据模型,因为用户的使用体验、查询执行速度和其他关键指标都取决于它。
本文将探讨 Footprint Analytics 的数据模型和目前最受欢迎的分析平台 Dune Analytics 提供的数据模型之间的实施差异。
处理区块链数据的平台有一个类似的ETL过程。这个过程的步骤是:
节点提供者将数据传输给索引器
处理原始数据
对原始数据进行抽象化
视觉化
在下面的部分,我们将更详细地研究每个步骤,并指出每个平台内实施的差异。
--- **NOTE** - 为了简单起见,下面所有的例子都是基于 EVM 链的--V2 版的 Dune 作为比较对象。 更多详情请见 - [Dune V2 - Dune Docs](https://dune.com/docs/reference/dune-v2/.) —
节点提供者是一个 "客户端 "软件,将它们连接到区块链的网络,使它们能够在其他节点之间来回发送信息,在某些情况下,验证交易和存储数据。为了接收这个 "新区块创建 "信息,必须有人运行一个区块链节点。为了确保新交易有足够高的处理速度,挑选一个可靠的 RPC 至关重要。对于节点提供方,我们所对比的这两个平台都是闭源的,所以很难说他们正在使用哪个节点提供者,或者是否自建节点。但大部分数据平台通常遵循的是一种混合选项:既使用节点提供者,又使用部署的本地节点。
作为下一步,从节点提供者那里收到包含区块链交易数据的哈希字节码。该字节码被解码并以原始形式保存。如果你曾经使用过[[block explorer]],你应该知道某个区块链所持有的原始数据。这些细节在不同的链之间是不同的,但是作为一个例子,大多数由以太坊虚拟机(EVM)驱动的链包括:
Blocks - 附加在链上的交易组
Transactions - 加密签名的区块链状态指令
Logs - 由智能合约创建的事件
Traces - 记录交易执行过程中发生的每一个事情
实际上,上述实体构成了区块链的全部内容。这表明,仅通过使用它们,任何去中心化的生态系统可能已经被充分分析。尽管这些表中的数据可以由人类读取(与字节码不同),但需要对区块链有深刻的理解。该平台将上述实体存储到以下表格中,作为ETL程序的一部分:
两个平台上的表数据,几乎都有相同的列,所以不同的查询可以基本上在平台之间重复使用。
https://www.footprint.network/chart/Latest-ethereum-transaction-fp-33365
https://dune.com/queries/1637400
任何 EVM 区块链上的大多数智能合约都是使用 Solidity 等高级编程语言创建的。它们必须被编译成 EVM 可执行字节码,然后才能在 EVM 执行环境中使用。一旦部署,字节码将永久存储在链的状态存储中,并分配给一个特定的地址。
客户端应用程序需要一个指南来调用高级语言中定义的功能,以便能够与这个智能合约进行互动,目前它只是字节码。一个应用二进制接口(ABI)被用来将名称和参数翻译成字节形式。ABI 正确记录了名称、类型和参数,允许客户端应用程序以人类相对可读的方式与智能合约沟通。可以利用高级编程语言的源代码来编译 ABI。TLDR:要调用智能合约或破译其产生的数据,请使用 ABI。
为了允许对正在发生的事情进行后向分析,区块链被设计为分析和存储事件。智能合约通过交易和消息调用发出过程中的事件,相互沟通。因此,查看事件通常是分析区块链上发生的各种事情的最简单和最方便的方法。
然而,偶尔会有重要的信息从发出的事件中被遗漏,或者根本没有事件。在这种情况下,分析师可能不得不求助于交易和消息调用(在原始表格中发现)。随着时间的推移,没有事件被发出的情况越来越少,因为现在的开发人员大多明白,事件对分析的重要性。但目前还是仍然存在遗漏的情况。在某些情况下,将解码后的数据与原始数据结合起来,以获得关于交易的元数据或更深入地研究,是有意义的。
对于要解码并添加到 Dune 数据集的合约,可以使用以下表格。智能合约上传表格 一旦合约被解析,与特定智能合约相关的调用和事件正在被保存到相应的表格中。
通常情况下,一个智能合约将有可能被另一个智能合约或外部拥有的账户(EOA)调用的功能。从直接的状态读取和返回到修改几个状态并触发对其他智能合约的消息调用,函数可以是任何东西。对智能合约的每一个消息调用和交易都可以在 Dune 上被解析为它们自己的表。然后,这些表被赋予以下名称:
事件日志是由智能合约在完成特定的预先定义动作时产生的。智能合约开发者已经预先定义了这些日志的结构,而内容是在整个交易过程中动态创建的。日志有助于跟踪智能合约内部的活动,并用于监测、警报和其他目的。
截至发稿时,Footprint 目前已支持 Ethereum 存储调用和事件的表。而其它公链的底层原始数据,连同 ABI 提交、合约解析需求提交,计划在2022年底前发布。
将原始数据转化为有洞察力的信息绝不是一件小事。虽然艰难,但并不是不可行的。建立和微调 ETL 模型只是许多数据企业家每天进行的工作中的一小部分。在试图转换原始数据的系统设计中,包括以下规格:
数据表,可以实时连续分析来自历史和实时的数据流,大大简化了生产数据科学的工作流程。
模式的执行,使表保持整洁有序,没有列的污染,并为机器学习做好准备。
模式演进,使现有的数据表增加新的列,而不会在生产中使用这些表时导致其中断。
数据版本,这使得审计、复制,甚至在必要时回滚任何Delta Lake表的变化,以避免人为错误带来的意外变化。
数据摄取("铜")、转换/特征开发("银")和业务汇总("金")是典型 ETL 的三个阶段,它们采用的表格与数据工程管道中的各种质量等级相关。这些表格一起被称为 "金银铜 "架构。
它使数据工程师能够创建一个流程,从未经处理的数据开始,并作为 "单一源",其他一切都通过它流动。即使下游用户清理了数据并添加了特定的上下文结构,也可以计算和检查进一步的转换和汇总,以确保业务层面的汇总表仍然反映基础数据。Dune 和 Footprint 都在工作流程中实施了以下方法,但形式上有很大的不同。
银以及金数据表在 Dune V2 上是使用魔法表(Spellbook)构建的. Spellbook 是一个社区构建的层。通过创建复杂的表的指令,处理广泛使用的用例,如NFT交易。抽象可以被物化为视图和表,但也有许多可能的细化,包括增量加载的表、日期分割的表等等。在 Page Not Found | dbt Developer Hub 中查看所有支持的具体化类型。数据完整性测试可以很容易地添加到 YAML 文件中,只需一行。关系完整性、非空值、独特的主键和接受的值都可以在模型上快速检查。Dbt 理解所有模型的原生依赖性。
Footprint
Footprint 则完成遵循金银铜结构中描述的方法。按数据的级别分组的做法如下:
铜数据是未经修改,未经处理的原始数据。 提供所有区块链活动的彻底记录。交易、日志、痕迹和其他数据,如 EVM 网络的情况,将以与区块链上的数据相同的方式存储在这里。虽然使用这些数据进行查询是可行的,但要有效地做到这一点,需要对智能合约的内部运作有扎实的掌握。与其他表格相比,这种类型的表格中的数据是最多的。因此,查询的处理意味着该数据的汇总将需要相当长的时间。
银数据是未经处理的青铜数据被转化为具有附加值的数据集。这可能需要将代码改为相关的值,增加合理性检查,消除不必要的数据,等等。这些表格旨在统一 EVM 和非 EVM 的数据标准,抽象出各领域的数据结构,并建立一个事实上的商业逻辑标准。NFT交易、以太坊代币转移、协议交易、合约信息等就是这样的几个表。这些表的主要优点是,在EVM和非EVM链之间,以及在不同的市场和协议之间切换很简单。这是因为数据在语义上被正确组织,使得没有任何原始区块链数据结构知识的人可以立即使用这些表。
金表是业务层面的数据聚合,直接解决某个领域的问题。在查询本身中不需要任何聚合(连接和合并,解码等),金表提供了一些统计指标,可以随时进行研究。指标可以按原样使用,节省了开发团队在开发、运行时计算以及数据验证和测试方面的时间,因为像活跃用户,新增用户和钱包地址的持有余额这样的统计数据的所有必要计算已经由 Footprint 完成。
DuneV2 改变了整个数据库架构。Dune 现在正从 PostgreSQL 数据库过渡到托管在[[Databricks]] 上的 [[Apache Spark]] 的 Instance。
Footprint Analytics在 [[Apache Iceberg]] 和 [[Trino]] 数据架构上工作。[[Apache Iceberg]] 是一种用于海量分析数据集的开放式表格格式。[[Trino]]是一个分布式 SQL 查询引擎,旨在查询分布在一个或多个不同结构数据源的大型数据集。
Dune 上所有的查询都需要通过 SQL 执行。

Footprint 是建立在 [[Metabase]] 之上的。该技术代码的开放性允许不同的用户对代码库做出贡献,从而开发和改进它,随后可以被其他用户使用。该技术本身实现了一个方便的拖放查询生成器。这大大降低了进入门槛,允许任何没有任何技术知识的用户使用该产品并提取商业价值。
值得注意的是,从架构上来说,Metabase 是对 SQL 代码的抽象,也就是说,任何通过拖放的请求都可以表示为 SQL 。因此,想要建立更复杂的查询的用户,或者喜欢用代码处理数据的用户,都可以在 Footprint 上直接使用 SQL。
可参考分析师 @escapist5563 在文章《5分钟快速对比头部链上数据分析平台》的介绍。
课后小测试
做个简单的小测试看看你掌握了多少知识吧!
测试题:请您分别使用Footprint Analytics的金银铜数据来制作一些数据图表。
通过这个链接 https://www.footprint.network/?channel=courses 注册Footprint,即可免费获得7天的高级账号,它能更好地辅助你完成测试题哦。
如何提交答案:欢迎加入我们的 Discord社区 提交你的答案,并与社区优秀分析师一起交流!如果答案优秀的话,你还有机会获得价值 $299 的月度高级账号哦。
** 推荐阅读**
Footprint Analytics 是首家 Crypto 领域支持无代码数据分析平台。平台还提供一个统一的数据 API,让用户可以快速检索超过22条公链生态的 NFT,GameFi 以及 DeFi 数据。
如果您对该课程有任何反馈或建议,您可以通过以下方式联系我们。
Footprint Website: https://www.footprint.network
Discord: https://discord.gg/3HYaR6USM7
Twitter: https://twitter.com/Footprint_Data
No activity yet