dune的数据分析表格体系

1)这两天看了下dune的数据分析,对其结构做了个了解。本身区块链上的数据并不是按传统的数据表格方式存储的,而dune是将其转化成sql形式(使用的是老牌数据库postgresql,最新查询引擎2.0版本升级成数据湖模式,主要是为了方便机器学习方面的分析更方便)方便大家调用

2)但eth等链上数据结构很复杂(有的合约甚至上百,上千张表),初学者刚开始弄,好像丈二和尚摸不到头脑,我正好学习了下,做个总结,分享给各位,有个整体的认识,在通过uniswap v1版本作为例子来学习下如何用dune

3)dune上主要有几种表: a-基础表:比如一些基本的链上的信息表,transactions(交换表),blocks,token_transfers,receipts,logs,contracts,tokens,traces,这些表很多时候不能用,原因一个是很多信息没有,需要从合约表里去调取,另一个是这么多链上数据的积累导致这里的数据很庞大查询会很慢

4)合约表,合约里有分为事件表和函数调用表

5)抽象表,这个表,主要是对一些常用的表进行了抽象,比如dex."trades表,为了对多个事件或函数调用里的数据字段进行查询,以及甚至是多个dex(uni,sushi)的数据进行对比,需要去在一个表里查询(当然数据来源还是在基础表和合约表里把数据insert进来的

6)同时抽象表,还是为了方便查询,比如想查询defi的数据,不可能把所有的defi合约表都调用一遍,太麻烦了,效率也很低,所以通过把表抽象合并,方便更快速的进行查询,dune的抽象表,还有nft表,借贷表等,这些抽象表也可以和dune官方沟通,而建立新的表格方便查询的抽象表

7)用户生成表,这个也是用户提交新的合约相关的,或抽象新的表格形式,这个在表名上都有英文的标注

8)uniswap v1 版本相对比较简单,通过分析下v1版本的代码和文档,比如容易理解表格的含义。

9)view_add_liquidity (添加流动性池子表) view_eth_purchase (购买eth交易表) view_new_exchange (注册新的token表) view_remove_liquidity (删除流动性池子表) view_token_purchase (购买erc20 token交易表) 具体例子:

10)这个sql是查询每日的交易量,需要跨eth交易表和token交易量联合查询

https://t.co/yoM8Sd2w8X