手把手教你使用如何区块链分析平台Dune Analytics
众所周知,在以太坊上,所有的信息都是公开的。但用户很难找到其中需要的有价值信息。想知道某个项目/协议有多少用户,又或者是某个 DEX 的每日成交量是多少,可能需要单独编写一个脚本,用这个脚本去遍历所有的块、解析信息、正确排序和提取数据。这不仅需要专业知识,还很费时。这样的脚本可能会提取某个特定项目的信息,但如若想应用到其他项目上,又会需要大量的修改。此外,遍历所有数据本身就是一个很长的过程,需要一个完整的节点或者使用外部服务进行许多单独的查询。
此时,你需要试试 Dune Analytics。
Dune Analytics 是一个强有力的区块链分析平台,可以用来查询,提取,并将海量的以太坊数据进行可视化。它是一个基于 web 的平台,通过使用简单的 SQL 查询,从预填充的数据库查询 Ethereum 数据(避免了每个脚本单独遍历数据,冗余交易)。不必再写一个专门的脚本,用户可以简单地查询数据库,提取区块链上面的几乎任何信息。
本文将介绍如何使用,搜索,编写基本的信息,并将其可视化。即使您以前从未使用过 SQL,文中的基本例子也会帮助你理解,通过阅读本文和相关官方文档,也可以写出自己的脚本。期待用户可以创造更多有意义的数据集。
Weekly DEX volume 去中心化交易所周成交量
Dune Analytics 的工作原理
Dune Analytics 本质上来说,是将未经加工的区块链数据全部录入集合到 SQL 数据库中,可以让所有用户轻松查询。举例来说,数据库中可以很轻松的查询以太坊的所有转账,这些数据已经被很好的按照发送地址、接受地址、数量等条目分类整理好了。
以太坊的最新 5 笔转账,来源
这些信息均免费的,只需创建账户,就可以使用:
数据搜索查询
编写新查询需求
创建可视化图标和统计数据
如果用户需要创建私有化图表、隐藏水印等功能就需要付费到 Pro 级别,这里暂不讨论。
从使用 Dune Analytics 开始
注册之后,首页点击 Browse 就可以进入数据浏览界面。
映入眼帘的就是一些来自其他用户热门数据集的汇总,包含各种不同的项目或数据分类,例如 DeFi 项目的交易量统计汇总,GAS 费,NFT 平台 Rarible 数据汇总等等。
ETH 的 GAS 费相关数据,来源
图表可以选择放大、全屏、任意部分选取。选择 Fork 将整个数据集复制进自己的工作区,在自己的工作区可以进行操作、修改、创建新图表和保存。而 Qeuery 就可以让你看到该部分数据集的实现代码。
Median Gas Price, Last 24 hours(24 小时内,GAS 费中位数)
用户也可以在右侧搜索自己需要的项目信息,可以按照流行度、收藏量、发布日期排序。
以时间排序可以发现,很多新用户在平台测试自己的数据集。
开始学习写一个属于自己的数据集
有网友在 Discord 有偿寻找编写数据集的服务
首先用户可以用通过 Fork 复制别人编写成功的数据集,可以复制、修改其代码。或许只要稍微调整一下,就可以获得需要的代码(律动注,Dune Analytics 也提供了详细的 Docs 文档供用户学习)。
1. 点击 Create,选择 Query 创建一个新查询页;
2. 编辑相关 SQL 代码指令。
本文介绍部分相关使用度较高指令:
ethereum.transactions:Ethereum 上所有转账。
ethereum.logs:发送代币时的日志。
erc20.ERC20_evt_Transfer:发送代币时所有的事件。
prices.layer1_usd:每分钟显示 L1 层(公链)的 usd 价格。
以最近 5 个 ETH 转账为例:
首先选择 ethereum.transactions 以查找到所有 ETH 链上数据,可以看到旗下的相关子集,包括哈希,GAS 费,区块高度等等。*字符代表子集内所有内容,desc 表示倒叙。
经过将主指令的加工,我们得到以下的完整指令:
select * from ethereum."transactions" order by block_time desc limit 5
点击「Execute」以输出结果。
得出结果,再点击 SAVE 保存,以上就完成了一个简单的查询功能。
在 Query 选项里,按时间顺序排列就可以看到自己完成的作品啦
别忘了,Dune Analytics 也支持数据可视化,可以将自己设置好的指令集成到可视化工具之中,并利用 Dashboard 展示出来。
近 10 日链上 ETH 价值的图表展示,来源
局限性
尽管 Dune 是一个超级强大的工具,但仍然有一些 bug 和限制。目前只能查询像是链上转账和迁移等事项。不能确定某特定区块上某个地址的状态。例如,如果想知道一个特定区块的特定地址的余额是多少,就需要创建一个 Query,总结该地址所有的转入和转出。回答「目前的以太坊总量」这种问题对 Dune 还是有些棘手的。
免费用户一次只能进行 3 个 Query 查询,如果您想更新一个多图表的数据集,这个限制是需要注意的。
虽然大多数时候平台会自动帮助调试不正确的 Query 指令,但有时候 Query 会一直暂停直到超时(上限 40 分钟)。如果某部分占用了大量的时间仍不反应,可能需要试着保存它,然后重新加载网页。这部分问题之后会得到解决。
总结
工具仅仅是工具,重要的还是背后的使用者。Dune Analytics 作为一个充满可能性的数据平台,还有很多东西需要探索和发现,包括各种新兴的 DeFi 项目或数据,需要用户自己去构建相关的数据集。鉴于 2020 第三季度 96% 的 DeFi 交易量均来自于 ETH 的情况,主攻以太坊数据,允许用户简单快速的查询、提取和显示数据的 Dune Analytics 可以说是超级强大的研究探索工具。
DUNE Analytics 相关平台的数据集
参考资料:
Dune Analytics introduction tutorial (with examples)
Dune Analytics 官网
Dune Analytics 浏览器
Docs 文档