写在开头

文章结构

介绍案例所需数据表

认识所需数据表的数据结构

案例分析具体过程(实现四个目标:计算GTC的供应量,当前GTC持有者分布,随时间变化的GTC持有者分布,查询某个钱包持有的GTC)

注意

本案例输出结果见链接: https://dune.com/bubblec/GTC-(Gitcoin)-Holder-Distribution

不懂sql语法的小伙伴,可以先在B站/慕课找视频学习一下

在看这篇案例时,强烈建议大家同时在Dune上运行代码,并查验运行结果

下面所附代码具有时效性,可能与你输出的结果不同

所需数据表

表格 介绍
erc20.view_token_balances_latest 当前ERC20 Token的持有者和持有数额快照(截面数据)
erc20.view_token_balances_hourly 以小时为单位的,ERC20 Token的持有者和持有数额数据(时间序列数据)
erc20.view_token_balances_daily 以天为单位的,ERC20 Token的持有者和持有数额数据(时间序列数据)

认识数据表

该部分,大家在运行代码后,仔细观察结果表格每一列的含义

erc20.view_token_balances_latest

这里查看的token为GTC,想查看其他token可前往Etherscan查询合约地址

在引用合约地址时,需要将最前方的‘0’替换为‘\’

select * from erc20."view_token_balances_latest"
	where token_address = '\\xDe30da39c46104798bB5aA3fe8B9e0e1F348163F'
	and amount > 0.0000001

erc20.view_token_balances_hourly

这里查询的是一天之内的,以小时为单位的时间序列数据