Dune 可能是目前向公众提供的最强大的区块链数据分析工具,而最棒的是:它还是免费的! 通过 Dune,你可以通过一个公共数据库近乎实时地访问区块链数据,你可以通过 Dune 的网站使用 SQL 查询。
这是一个很大的能力。
Dune 在将区块链数据添加到他们的数据库之前对其进行解码,这意味着你不需要自己弄清字节码通信。相反,你可以使用 Dune 的数据集浏览器来浏览数据集、特定的智能合约、事件或调用
随着 Dune最近宣布他们的 V2 引擎,性能提高了 10 倍,现在是时候让你学习如何使用 Dune 了。
在本指南中,你将学习:
第一部分:Dune 的界面
第二部分:用 SQL 建立你自己的查询和图表 -- 从最基本的功能开始
第三部分:将所有内容组织成一个仪表板
在这个手把手教程中,我们将为 Pooly NFT 系列建立以下仪表盘的查询,本文较长,做好准备,学习完收获很大。
仪表盘是一个查询的集合,它被安排成一系列的图表、展示面板和其他信息,给用户提供关于特定兴趣领域的数据。下面,我打开了一个由传奇人物@hildobby制作的以太坊仪表盘。在这里,我们可以看到从 Dune 的数据库中提取的各种数据,以总和和时间序列图的形式显示。
在 Dune 中,每个仪表板都是公开的。这意味着你或其他人建立的所有东西都可以被任何人查看和分叉(即复制)!这大大减少了仪表盘的数量。这大大减少了仪表板的创建时间,并让你从其Ethereum 价格查询,截图来自 https://dune.com/queries/663019/1231425
让我们分叉以太坊价格图表! 一旦你在一个查询上按下 "Fork",你就会进入到查询编辑器,前面的代码已经被复制进去了!
让我在这里向你介绍一下屏幕上的各种元素:
查询的位置和名称 -- 一旦你点击保存,名称就可以改变。
数据集浏览器 -- 搜索一个特定的数据集
查询窗口--在这里输入你的 SQL 查询
让我们仔细看看数据集浏览器。在数据集浏览器中,有六个功能区:
链的选择
在数据集选择中,你可以选择你要解析的链。选择 Dune Engine V2 (Beta)
可以让你使用 Dune 的最新改进,包括多链查询和 10 倍的性能提升。
如果你选择了另一条链,你的类别选择(上图中的第 3-6 项)就会消失,取而代之的是你可以交互的合约调用和事件的列表。
在搜索栏中,你可以输入你的搜索参数,Dune 会在所有包含该关键词的表格中进行搜索。
_注意:Dune Engine V2 和旧的搜索功能以不同的方式返回结果。旧的搜索返回一个所有结果的列表,而 Dune Engine V2 返回一个嵌套的结果列表。我们将使用 V2 引擎!_。
如果你点击进入原始区块链数据,你可以很容易地找到 Dune 支持的各种区块链的查询,在一个嵌套的数据结构中,你可以首先挑选你的原始表,然后从那里挑选你想进一步调查的特定表列。在每个层次的嵌套中,你还可以选择过滤你要寻找的特定搜索结果。
在这里,你会发现已经被 Dune 解码的项目。解码的项目是指 Dune 团队将项目抽象可以被认为是定制的表格,它连接和组合各种查询和数据片段,形成一个独特的表格。抽象帮助用户更容易地查询他们正在寻找的特定数据,而不需要手动组合各种数据片段的麻烦。
一般来说,抽象可社区部分可以被认为是抽象部分的延伸,但数据的汇总是由 Dune 社区成员提供的。
你可能想知道为什么社区部分只有一个条目("flashbots")-- 那是因为 Dune Engine V2 刚刚发布,随着时间的推移,我们可以期待看到越来越多的由值得信赖的社区成员建立的社区数据集。
在下面的插图中,你可以看到截至 Dune Engine V2 发布时,Dune 内部的数据汇总:四个主要的数据类别是原始区块链数据、解码项目、抽象和社区,它们以表格的形式保存了各种区块链的数据,可以保存各
6. 在这里,如果你点击(1) "查询结果(Query result)"、"折线图(Line Chart)" 或 ""新的可视化" 中的任何一个,(2)对你的选择的设置,结果/可视化框就会更新查询列表包括你在账户中保存的所有查询。在下面的屏幕截图中,我们可以看到最新创建的查询。
7. 恭喜你,你已经分叉并保存了你的第一个具有可视化的查询!。
分叉(fork)是一种 Dune 的超级能力,它可以帮助你基于之前建立查询向导(是的,你现在也是一个向导!)建立查询,轻松而快速地创建新的查询。你可以结合多个分叉的查询来建立你自己的仪表板
让我们亲自动手,从头开始建立一个仪表盘--查询和可视化的集合,而不通过分叉。这将教会我们为特定项目寻找正确的区块链细节,以及教你 SQL 基础知识。,同时出现在它下面的(3)。这里你还有一个 “添加到仪表盘(Add to dashboard) ”的按钮,可以快速将你的查询结果或可视化添加到新的或现有的仪表盘中--就像@hildobby 之前的以太坊仪表盘一样!
8. 如果你点击(1)右上方的圆圈,然后点击(2) "我的查询",你将打开你的账户的查询列表。
9. 种数据类型。
我们继续,先保存这个查询。在你点击保存后,有几件事会发生。首先,你会被一旦你选择了一个名字,你会注意到(1)查询的位置和名字已经更新为你选择的名字;(2)你的查询正在运行。这意味着 Dune 正在从他们的数据库中获取最新的数据,该数据库会定期更新各种区块链的最新数据。
一旦查询运行完毕,你会看到你的查询结果(3)。要求给你的查询一个名字。
10. 以分为两个主要类别:
* 领域(Sector)抽象:特定领域的数据
* 项目(Project)抽象:特定项目的具体数据
从抽象子菜单中,我们可以看到一个抽象列表,其中的标签说明了该抽象是针对领域还是针对项目的。拆开,贴上标签,并放入表格,以便用户对某些数据有一个简单和标准化的参考。
你会注意到,同样,搜索结果是嵌套的。在最高层,有你可以搜索的项目,在较低层,你可以过滤该项目中的特定智能合约,最后我们得到了由该智能合约生成的各种表格。如果你点击任何一个表,你会看到一个列表,就像在原始区块链数据中一样。
11.
数据
Dune 数据集浏览器的概述集搜索
浏览原始区块链数据
浏览解码后的合约数据
浏览抽象的数据
浏览社区提供的数据可视化选择器--选择是否查看查询结果、折线图或创建一个新的可视化视图。
运行 - 运行查询窗口中的查询
结果/可视化--看到查询结果或你用查询结果创建的可视化效果
保存--保存你的(分叉的)查询!
他用户的查询中学习。
在这里,我们可以看到屏幕上的两个主要元素:查询(顶部;黑框)和输出图表(底部)。这就对如果你想把整个仪表盘或者只把图表的查询保存到你自己的账户中,你可以点击右上方的 "分叉(Fork)",屏幕上的所有内容都会被复制到一个新的窗口中,在把视图保存到你的账户之前,你可以在其中进行编辑。
了:无论你点击哪个区块或图表,你都可以看到用户是如何创建该图表的!
如果你还记得,我提到过仪表盘是查询的集合。如果你点击任何一个仪表盘元素的标题,你就会进入到该图表的 SQL 查询。
厉害了! 但这些只是时间上的一个快照。让我们也给自己一个挑战:
就目前的情况来看,我们不能像 Pooly 网站那样建立视图,但我们可以捕获同样多的数据(甚至更多!)来建立我们的仪表板。