# dune的数据分析表格体系

By [ZeroKnowledge.vc](https://paragraph.com/@zeroknowledge-vc) · 2022-08-06

---

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](https://t.co/yoM8Sd2w8X)

---

*Originally published on [ZeroKnowledge.vc](https://paragraph.com/@zeroknowledge-vc/dune)*
