如何使用SQL分析Web3中的数据​?

你想知道如何在 Web3 中成为一名高效的数据分析师吗?还是,你只想构建一个Web3 分析仪来对感兴趣的Web3数据感进行分析?不管怎样,欢迎你阅读本文。作为一个数据人,Web3数据中最具挑战性的部分是理解数据本身。根据我的经验,有一件事让我觉得很容易,那就是把每个人都看作是一个巨大的数据仓库和以太坊区块链上面的协议,作为仓库中包含多个表和视图的各种模式。PS:这也适用于其他区块链。对于这篇文章,我将努力使事情变得简洁,并使用这些主题突出它们:让我们开始吧!Web3的数据流和景观Web3 的关键在于变得更加独立和自主。这是通过区块链和分布式对等网络而不是服务器-客户端关系来实现的。这使得数据流和格式与我们在 Web2 中习惯的不同。通过研究,我发现了像 Dune Analytics 和 Flipside Crypto 这样的数据映射器,它们具有解码的区块链数据和内置的可视化工具,供对 Web3 感兴趣的数据科学家使用和构建。如何使用SQL分析Web3中的数据​?上图:https://docs.google.com/presentation/d/1I6vDOS52uMCmWg3KIbuKYe8lK-8_ol9bEksIUEHNNLI/edit#slide=id.gfac7071356_0_1上面的图片显示了从不同的区块链模式中提取数据进行分析的不同方式,在此以以太坊为例。如果你曾经在以太坊(或任何启用智能合约的区块链)上进行过交易,那么你可能已经在区块资源管理器上查找过它,并看到了这种信息:如何使用SQL分析Web3中的数据​?通过 Etherscan 区块浏览器看到的以太坊区块链上的交易示例学会阅读交易细节将是所有以太坊数据分析和知识的基础,但了解代币和交易数据的流向也很重要。解读Web3数据我可能偏向于使用以太坊区块链来解释解密区块链数据,但根据经验,当你了解数据在智能合约上的存储和管理方式时,以太坊更容易理解。既然如此,重要的是要注意,我将谈论的许多概念将广泛适用于所有与EVM兼容的链和智能合约,例如Polygon、Fantom Opera、BSC、Arbitrum One等。一个智能合约交易相当于智能合约驱动的web3应用程序中的后台API调用。智能合约上的活动细节及其产生的应用状态变化被记录在称为交易、调用和日志的数据元素中。交易数据元素代表由用户(或更准确的说是EOA)发起的功能调用,调用数据元素代表智能合约在交易中发起的额外功能调用,而日志数据元素代表交易执行期间发生的事件。为了了解以太坊区块链上的交易数据,我们可以尝试使用Etherscan(作为交易实例的基础,我使用了一个Mirror Crowdfund合约)。这就像检查你的汽车仪表盘,以寻找修复汽车问题的指针,但作为一个数据科学家,我们必须打开汽车的引擎盖,了解幕后发生了什么。通常情况下,有3种不同类型的交易:当用户在区块链上提出请求时,在引擎盖下发生的事情是:如何使用SQL分析Web3中的数据​?上图:代币传输的数据生命周期。来源:https://docs.google.com/presentation/d/1I6vDOS52uMCmWg3KIbuKYe8lK-8_ol9bEksIUEHNNLI/edit#slide=id.gfac7071356_0_6数据是如何结构化的现在,你已经了解了发生在幕后的活动和相应的数据元素。现在是时候逐项列出构成web3景观的各种元素了。交易和跟踪数据结构包含了智能合约函数调用的细节,按照这个顺序:如何使用SQL分析Web3中的数据​?基于以上信息,我们可以使用以下查询来拉取 Dune 上的数据(https://dune.xyz/queries/601249)——如何使用SQL分析Web3中的数据​?访问和处理Web3数据的工具现在我们已经很好地理解了Web3数据的元素,它看起来像什么,并且已经在区块链上查询了我们的第一个交易数据,你可能想知道如何快速熟悉一个协议及其数据。有一系列很好的工具可以帮助我们做到这一点。Block Explorers如前所述,使用Block Explorers是深入了解区块链上的交易的一个好方法。Block Explorers是在线浏览器,可以显示区块链网络上曾经发生过的所有交易的细节。以上面的截图为例,重要的是要知道所有主要的区块链都有探索器–突出的例子包括Etherscan、Polygonscan、BSCScan、Solana beach等。尽管区块链探索者对于询问区块链账本内的单个记录很有帮助,但他们对于回答需要聚合或转换数据的问题并不擅长。例如,如果你想知道过去3个月有多少NFT通过Opensea交易所售出,或者如果有人想知道交易从 “Coinbase “流向 “Axie Infinity “的频率,只用区块探索器就很难回答。为此,人们将需要直接访问数据。这在我的上一篇文章中已经介绍过了(https://thisgoke.medium.com/getting-into-web3-as-a-data-scientist-machine-learning-engineer-f77c450b4e83)。分析数据Dune analytics是访问和分析区块链数据的一个伟大资源。在写这篇文章时,它有Ethereum、Solana、Xdai、Polygon、Optimism和BSC的原始和解码数据。它提供了一个PostgreSQL界面来查询数据集,以及一个简单的点选界面来在查询结果的基础上创建简单的仪表盘。Dune上的用户社区也相当活跃,并产生了一个广泛的查询和仪表盘的例子库,供人们学习。下面是在Dune上创建的几个分析实例如果你对SQL完全陌生,我会推荐这些有用的Dune分析的提示和指南:如何使用SQL分析Web3中的数据​?3. 充分利用Dune上的标签。标签是一块关于地址的元数据,如果你愿意,是一个标签或元数据。它以键-值对的形式出现。键是标签类型,而值是标签名称。从本质上讲,你可以使用标签来查找地址,看看它们是什么(见下面的标签表)。你可以在这里(https://hackmd.io/k71ZUSTxQVKGqOcvR6OXnw?view#%F0%9F%AA%A7-What-is-a-label)获得更多关于标签是什么以及如何使用它们的见解如何使用SQL分析Web3中的数据​?https://docs.dune.xyz/data-tables/data-tables/labels#what-labels-looks-like如果你想获取所查看地址的标签,请使用此 UDF,你可以这样做;如何使用SQL分析Web3中的数据​?4. 表和列名的引号。PostgresSQL不能识别没有引号的骆驼字母的列和表名。因此,在Postgres中,双引号是为表和列保留的,而单引号是为值保留的,因此,如果你查询表名中的大写字母,Dune会抛出一个错误。如何使用SQL分析Web3中的数据​?5. 去除小数。在处理代币金额时,记得检查`erc20. “tokens”`中的小数。如何使用SQL分析Web3中的数据​?6. 生成时间序列。当处理一个具有不连续时间序列的数据集时,使用如何使用SQL分析Web3中的数据​?希望这是一篇有用的讨论文章,你已经知道了足够的知识来做基本的Web3数据探索和分析,使用Dune上的SQL,它看起来像什么,以及如何与它合作。在分析web3中的经济活动和用户行为时,重要的是要培养对特定智能合约工作方式的理解兴趣,这就会继续帮助你确定感兴趣的指标中涉及的关键功能和事件。Web3正在经历快速发展和高变异,每天都有新的想法、产品、社区和实验涌现。它目前触及生活中的方方面面,包括但不限于支付、金融、艺术、音乐、游戏、社区、治理和身份,这使得任何人都能参与其中,令人兴奋。所以请理解,结合实际使用 Web3 产品、检查 Etherscan 等区块浏览器上的数据耗尽情况以及阅读智能合约源代码,是制定正确的数据分析策略的关键必要条件。

原创文章,作者:惊蛰财经,如若转载,请注明出处:https://www.xmlm.net/wang/18657.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注