如何使用SQL分析Web3中的数据?
你想知道怎么在 Web3 成为高效的数据分析师吗?还是,你只想建立一个Web3 分析仪对感兴趣Web3分析数据感?无论如何,欢迎阅读本文。
作为数据人,Web3数据中最具挑战性的部分是理解数据本身。根据我的经验,有一件事让我觉得很容易,那就是把每个人都看作是一个巨大的数据仓库和以太坊区块链上的协议,作为仓库中包含多个表和视图的各种模式。PS:也适用于其他区块链。
对于这篇文章,我将努力使事情变得简洁,并使用这些主题来突出它们:
Web3数据流和景观Web3,分散的数据存储。解码交易数据的工具:和Web3数据栈的工具概述,以及如何使用它们让我们开始吧!
Web3数据流和景观
Web3 的关键是变得更加独立和独立。这是通过区块链和分布式对等网络而不是服务器-实现客户关系。这使得数据流和格式与我们在 Web2 不同的习惯。通过研究,我发现了 Dune Analytics 和 Flipside Crypto 这有解码区块链数据和内置可视化工具的数据映射器 Web3 感兴趣的数据科学家使用和构建。

上图:
https://docs.google.com/presentation/d/1I6vDOS52uMCmWg3KIbuKYe8lK-8_ol9bEksIUEHNNLI/edit#slide=id.gfac7071356_0_1
以以太坊为例,上图显示了从不同的区块链模式中提取数据进行分析的不同方式。
如果您在以太坊(或任何使用智能合同的区块链)上进行了交易,您可能已经在区块资源管理器上找到了它并看到了这些信息:

通过 Etherscan 区块浏览器在以太坊区块链上看到的交易示例
学习阅读交易细节将是所有以太坊数据分析和知识的基础,但了解代币和交易数据的流向也很重要。
解读Web3数据
我可能更喜欢用以太坊区块链来解释解密区块链数据,但根据经验,当您了解智能合同中数据的存储和管理时,以太坊更容易理解。在这种情况下,重要的是要注意,我将讨论的许多概念将广泛应用于所有和EVM例如,兼容链和智能合约Polygon、Fantom Opera、BSC、Arbitrum One等。
智能合约交易相当于智能合约驱动web3应用程序中的后台API呼叫。将智能合同中的活动细节及其应用状态的变化记录在称为交易、呼叫和日志的数据元素中。交易数据元素代表用户(或更准确地说)EOA)调用数据元素代表交易中智能合约发起的额外功能调用,日志数据元素代表交易执行过程中发生的事件。
我们可以尝试使用以太坊区块链上的交易数据Etherscan(作为交易实例的基础,我用了一个Mirror Crowdfund合同)。这就像检查你的汽车仪表板来寻找修复汽车问题的指针,但作为数据科学家,我们必须打开汽车引擎盖,知道幕后发生了什么。通常有三种不同类型的交易:
用户以基本货币的形式(EOA)例如,张三在以太坊网络上向李四发送了三个用户ETH由一个EOA创建智能合同。例如,张三将代码提交给区块链上的地址并创建智能合同。一旦一定数量的资源转移到卖方的账户(或钱包),智能合同将转移NFT的所有权。EOA例如,张三调用李四的智能合约,使用智能合约999ETH交换NFT。当用户在区块链上提出请求时,发生在引擎盖下的事情是:
与用户有关EOA指定目标智能合同地址、目标功能、参数、交易支付(如有)及其愿意支付的交易gas成本(如果有)。该交易已在互联网上广播,并由愿意执行目标智能合同指定功能的矿工收集。如果执行成功,智能合同将发生事件,这标志着一些里程碑的完成。由此产生的事件数据结构称为 "日志"。目标智能合约可以向其他智能合约发起内部交易(额外调用)。这些内部事务创建的数据结构被称为 "轨迹",在各自的执行过程中过程中发布额外的日志事件。
上图:代币传输的数据生命周期。
https://docs.google.com/presentation/d/1I6vDOS52uMCmWg3KIbuKYe8lK-8_ol9bEksIUEHNNLI/edit#slide=id.gfac7071356_0_6
数据是如何结构化的
现在,您已经了解了幕后的活动和相应的数据元素。是时候逐项列出组成了web3各种景观元素。按照这个顺序,交易和跟踪数据结构包含了智能合约函数调用的细节:
在区块链上,每笔交易都有一个独特的哈希值`交易哈希值`,有各种各样的交易细节。例如,我们可以在这里查询哈希值0xbe3b109b857e8897cbe3c2a261d8072546ae693662422a1b93fe1a3a990dfded`From`是交易的发送方,`To`是交易的接收人,也可以是合同地址。在这个例子中,它是从`0x83ebd57bf4f22cba9c4a624a69c910d7c8619ee2`转移到CROWDFUND_EDITIONS代币的。`Value`是被转移的ETH值。有时ETH在这种情况下,值可以是0。`交易费用=用于交易的气体*气体价格`,您可以在这里找到更多与以太坊气体相关的细节。(https://ethereum.org/en/developers/docs/gas/#post-london)输入数据包含关于交易的额外信息。在这种情况下,它是一个包含交易地址和价值的转移函数。
基于以上信息,我们可以使用以下查询来提取 Dune 上的数据(
https://dune.xyz/queries/601249)——

访问和处理Web3数据的工具
现在我们已经很好地理解了Web3数据元素,它看起来像什么,我们的第一个交易数据已经在区块链上查询过了。你可能想知道如何快速熟悉协议及其数据。有一系列好的工具可以帮助我们做到这一点。
Block Explorers
如前所述,使用Block Explorers这是深入了解区块链交易的好方法。Block Explorers它是一个在线浏览器,可以显示区块链网络上所有交易的细节。以上截图为例,重要的是要知道所有主要区块链都有探索器--突出的例子包括Etherscan、Polygonscan、BSCScan、Solana beach等。
虽然区块链探索者对询问区块链账簿中的单个记录很有帮助,但他们不擅长回答需要聚合或转换数据的问题。例如,如果你想知道过去三个月有多少个月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创建的几个分析实例
Solana NFT交易概览(https://dune.xyz/sealaunch/Solana-Transactions)OpenSea市场分析(https://dune.xyz/hildobby/OpenSea-Market-Analytics)Eth2流动性质押号(https://dune.xyz/eliasimos/Eth2-Liquid-Staking)如果你对SQL完全陌生,我会推荐这些有用的Dune分析提示和指南:
内联Ethereum地址。当在Dune中工作时,Ethereum地址存储为PostgresSQL当你在的时候,字节数Etherscan上查询时,它被编码成`x`前缀,而不是通常`0x`。在交易中识别合同地址。试图区分合同地址和普通地址时,可以通过检查`CREATE`操作码是否在`traces`例如,中被调用来实现
3. 充分利用Dune标签。标签是一个关于地址的元数据,如果你愿意,它是一个标签或元数据-值对的形式出现。键是标签类型,值是标签名称。本质上,你可以用标签找到地址,看看它们是什么(见下面的标签表)。你可以在这里(https://hackmd.io/k71ZUSTxQVKGqOcvR6OXnw?view#
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。

老雅痞



