
✨ Web3 科学家极简入门指南
除了 Web3 领域,👨🔬 “科学家”的头衔从没有离普通人这么近过 。 一点点 Python (JavaScrip更好) 基本功、一点点智能合约基础知识、一点点项目投研分析(非必需) = Web3 科学家 。 本文作为一篇零基础教程,献给所有心怀科学家梦想的同学们。谁是 Web3 科学家?简单来说,通过程序的方式(Python、JavaScript等)进行合约交互、NFT Mint等的用户被统称为“科学家”。 普通用户使用 MetaMask 这样的钱包插件在项目官网进行合约交互或者 Mint NFT,“科学家”使用程序代替人工进行同样的操作 程序代替人工,机器代替人力,效率指数级增加。科学家的优势蒸汽机的发明将人力从繁重的劳动中解放出来,成功开启了第一次工业革命。 Web3科学家用程序代替人力,解放人力的同时,也获取了诸多优势: ✅ 效率大幅提升(常用于项目交互) ✅ 速度抢先(常用于 NFT Mint) ✅ 自动化程度高 🦾 速度快、效率高、批量化、自动化 = 收益指数级增加科学家的工具科学界们用程序进行合约交互的两大核心: ▪️ 交互用的程序语言 ▪️ 项目合约的交互...
🔒 Snapshot 投票治理迷你研报
简介本迷你研报,试对 Snapshot 链上投票治理做简要分析,同时列举部分优质项目方,并规划投票权获取方法及参与方式等。 鉴于本人知识面所限,所说内容可能有遗漏、错误等,敬请指正。另本内容仅供内部参考。 简要目录:投票治理简介Snapshot 简介投票项目推荐投票权代币获取推荐配套工具Web3 投票治理简介在民主社会中,投票权被公平赋予每位公民。投票权甚至被认为是现代民主的根本特征。公民行使投票权来进行总统选举这样的国家大事。 在 Web3领域,大量 Web3、DeFi、NFT项目都喜欢追求去中心化的治理模式(不管是实质上还是表面上)。具体的参与方式便是,所有持币(ERC20、ERC721、ERC1155)用户通过签名的方式,为社区提案进行投票,最终根据投票结果来决议。 目前很多 ERC20 代币仅作为治理代币存在,比如 UNI, OP 等。理论上来说,这些代币存在的唯一意义仅包括发起提案、参与投票。然而,持币用户同样有权发起新提案,为代币赋予分红权,进而改变代币经济模型。 持币用户参与投票的行为,一般被视为关心项目发展且积极参与项目治理,为许多项目方所倡导。两种投票治理方式当...

🌍 L2代币蓄势待发
原文:Layer 2 Tokens Are Coming - Bankless 原作者:John Wang、RyanSAdams 译者:@gm365前言亲爱的 Bankless Nation, 二层代币要来了。 Arbitrum, Optimism, zkSync, Starkware —— 所有这些当前大热的二层网络都还没有代币! 但这些二层网络都增速飞快,目前已锁定了数十亿美元的TVL,并且每天还在吸引更多的链上活动。以太坊的未来就在二层网络的手中。 问题来了,“什么时候发币¹ ” ? /zkSync/ 已经确认过它会将会是“社区所有”。 /Arbitrum/ 和 /Starkware/ 尚未回应。 /Optimism/ 在 Bankless的播客中说他们近期没有发币的计划。 他们是否公开确认发币计划其实根本不重要。他们都有股权结构表²,上面写满了投资人和团队成员。他们也都需要刺激增长和提高流动性。 用查理芒格的话来说就是:“谁给我面包吃,我给谁唱歌。” 现在面包就在那儿,结果看上去也一目了然。 为了抢占L2的淘金热,还需要回答以下几个问题:L2代币经济学长什么样?发币时会有...
🐳 Web3 科普 ✨ 尽量言之有物,尽量浅显易懂 🔆 知音如不赏,归卧故山秋。

✨ Web3 科学家极简入门指南
除了 Web3 领域,👨🔬 “科学家”的头衔从没有离普通人这么近过 。 一点点 Python (JavaScrip更好) 基本功、一点点智能合约基础知识、一点点项目投研分析(非必需) = Web3 科学家 。 本文作为一篇零基础教程,献给所有心怀科学家梦想的同学们。谁是 Web3 科学家?简单来说,通过程序的方式(Python、JavaScript等)进行合约交互、NFT Mint等的用户被统称为“科学家”。 普通用户使用 MetaMask 这样的钱包插件在项目官网进行合约交互或者 Mint NFT,“科学家”使用程序代替人工进行同样的操作 程序代替人工,机器代替人力,效率指数级增加。科学家的优势蒸汽机的发明将人力从繁重的劳动中解放出来,成功开启了第一次工业革命。 Web3科学家用程序代替人力,解放人力的同时,也获取了诸多优势: ✅ 效率大幅提升(常用于项目交互) ✅ 速度抢先(常用于 NFT Mint) ✅ 自动化程度高 🦾 速度快、效率高、批量化、自动化 = 收益指数级增加科学家的工具科学界们用程序进行合约交互的两大核心: ▪️ 交互用的程序语言 ▪️ 项目合约的交互...
🔒 Snapshot 投票治理迷你研报
简介本迷你研报,试对 Snapshot 链上投票治理做简要分析,同时列举部分优质项目方,并规划投票权获取方法及参与方式等。 鉴于本人知识面所限,所说内容可能有遗漏、错误等,敬请指正。另本内容仅供内部参考。 简要目录:投票治理简介Snapshot 简介投票项目推荐投票权代币获取推荐配套工具Web3 投票治理简介在民主社会中,投票权被公平赋予每位公民。投票权甚至被认为是现代民主的根本特征。公民行使投票权来进行总统选举这样的国家大事。 在 Web3领域,大量 Web3、DeFi、NFT项目都喜欢追求去中心化的治理模式(不管是实质上还是表面上)。具体的参与方式便是,所有持币(ERC20、ERC721、ERC1155)用户通过签名的方式,为社区提案进行投票,最终根据投票结果来决议。 目前很多 ERC20 代币仅作为治理代币存在,比如 UNI, OP 等。理论上来说,这些代币存在的唯一意义仅包括发起提案、参与投票。然而,持币用户同样有权发起新提案,为代币赋予分红权,进而改变代币经济模型。 持币用户参与投票的行为,一般被视为关心项目发展且积极参与项目治理,为许多项目方所倡导。两种投票治理方式当...

🌍 L2代币蓄势待发
原文:Layer 2 Tokens Are Coming - Bankless 原作者:John Wang、RyanSAdams 译者:@gm365前言亲爱的 Bankless Nation, 二层代币要来了。 Arbitrum, Optimism, zkSync, Starkware —— 所有这些当前大热的二层网络都还没有代币! 但这些二层网络都增速飞快,目前已锁定了数十亿美元的TVL,并且每天还在吸引更多的链上活动。以太坊的未来就在二层网络的手中。 问题来了,“什么时候发币¹ ” ? /zkSync/ 已经确认过它会将会是“社区所有”。 /Arbitrum/ 和 /Starkware/ 尚未回应。 /Optimism/ 在 Bankless的播客中说他们近期没有发币的计划。 他们是否公开确认发币计划其实根本不重要。他们都有股权结构表²,上面写满了投资人和团队成员。他们也都需要刺激增长和提高流动性。 用查理芒格的话来说就是:“谁给我面包吃,我给谁唱歌。” 现在面包就在那儿,结果看上去也一目了然。 为了抢占L2的淘金热,还需要回答以下几个问题:L2代币经济学长什么样?发币时会有...
🐳 Web3 科普 ✨ 尽量言之有物,尽量浅显易懂 🔆 知音如不赏,归卧故山秋。
Share Dialog
Share Dialog

Subscribe to gm365.eth

Subscribe to gm365.eth


>100 subscribers
>100 subscribers
Dune Analytics¹ 号称“平民版 Nansen”、“链上数据分析师神器”,为各路大神所追捧。
然神器在手,奈何找不到适合新手小白的说明书,我等只得望洋兴叹否?
非也!
本文作为一篇入门级的极简教程,适合 Dune 的零基础小白用户,与大家一起掀开 Dune 女神的面纱。
Dune 作为一款链上数据研究分析的强大工具,经过4轮融资,目前估值已达10亿美元²。
用户通过类SQL的数据库查询语言,从 Dune 缓存的区块链数据仓库中检索、筛选、提取、聚合,形成一个个 Query,再对查询到的数据进行可视化,最终汇总而成一个个 Dashboard 面板。
区块链本质上是一个去中心化的账本,所有过往的交易转账、合约调用形成了一条条的交易记录明细,包含交易时间、转入、转出地址、交易金额、调用信息、合约事件、tx_hash 等数据。
Dune 将以上所有数据分门别类进行存储形成数据仓库,供有需要的人通过类SQL语言来调用、查询、分析(可谓功德无量)。
SQL 即“结构化查询语言”,专用于数据库相关的查询、管理。
在 Dune 中,我们用 SQL³ 查询语句来获取所有想要的数据,构建成对应的 “Query”。

每一个数据表(table)⁴ 可以视作一个超大的 Excel 表格,按顺序记录了所有与之相关的数据。
Dune 提供了很多内置的知名协议专属的 "数据表dataset"。 注册登陆你的 Dune 账户,点击顶部的 "New Query" 即可打开如下页面: 左侧即为内置数据表,右侧是“查询语句”和“查询结果”

除了内置的数据表外,还有些常用的数据表,比如: 最常用的 ethereum.transactions,可以查询所有的以太坊链上交易信息,包括了普通转账和合约调用等信息。

不同数据表,提供的内容各有迥异。
以 "ethereum.transactions" 为例,表内提供了:
block_time 区块时间
from 发起地址
to 转入地址(或调用的合约地址)
value 转账金额,
data 附加数据(合约调用的input data)
等诸多数据

基本的 SQL 查询语句: SELECT * FROM X
select: 取什么数据
from: 从哪里取数据
where: 限制条件是什么
order by: 根据什么排序
limit: 限制取回的数据条数

打开 Dune 的 "New Query",粘贴以下语句
👉 select * from ethereum.transactions limit 5
点击 "Run" 稍等即可在"Query Results"看到查询结果
语句中的 * 代表查询所有字段,limit 5 是为了限制数据取回的数量,如果不加这条限制,你就是在告诉 Dune 要取回以太坊链上的所有交易数据(耗时超长且无必要)

现在让我们来试试更复杂(也更有趣)的 Dune 查询语句:查询 V神钱包 的链上交易信息
这次我们新增了 where "from" 限制条件,只筛选“V神”的钱包地址,order by 语句限定排序条件,desc 表降序
select *
from ethereum.transactions
where "from" = '\x1Db3439a222C519ab44bb1144fC28167b4Fa6EE6'
order by "block_time" desc
limit 10
点击链接即可复制语句,或 fork 后自己该参数运行 dune.com/queries/724390

现在,让我们筛选一些“更有用”的信息,比如:转账金额
select block_time as "date",
value/1e18 as "value" -- value 字段的值换算为 ETH 单位
from ethereum.transactions
where "from" = '\x1Db3439a222C519ab44bb1144fC28167b4Fa6EE6' -- 交易的发出地址为 V神钱包
and value/1e18 > 0.1 -- 转账金额 > 0.1 ETH
order by "block_time" desc -- 按照区块时间倒序排序
这次我们 select 选取两个字段: block_time 和 value
value 的值,我们通过 value/1e18 这个计算公式,换算为 ETH 单位⁵。
as 关键词为其取一个好听的别名
第5行 and 关键词指 where 下多个限定条件取交集
Query链接:https://dune.com/queries/728779

数据已有,可视化图表呼之欲出
对于随时间变动的数值,最普遍使用的图表就是bar chart (条形图📊、柱状图)了
在前一步生成的查询结果顶部点击"New visualization",选择“Bar Chart”,看到系统已经自动帮我们把 X,Y 轴都选好了。
如果在数据较多的情况下,则需要手动选择Y轴数据

一个最普遍的数据统计需求就是:加总求和
我们对筛选到的数据,直接使用 sum 函数即可
👉 sum(value/1e18) as "total"
select sum(value/1e18) as "total" -- 使用 sum 函数对 value 求和
from ethereum.transactions
where "from" = '\x1Db3439a222C519ab44bb1144fC28167b4Fa6EE6'
然后在可视化图表区域选择 Counter,修改 Title ,就有了如图的汇总数据:83.25万 ETH

SUM、AVG、MAX、MIN、COUNT 统称为聚合函数,用于将组中的行汇总为单个值。
前面提到的 sum 用于对数值求和,count 则用于统计查询记录的总数目。
比如我们统计下 V神 钱包总计对外发出交易的次数
👉 select count(*)
select count(*) -- count 函数用于计数
from ethereum.transactions
where "from" = '\x1Db3439a222C519ab44bb1144fC28167b4Fa6EE6' -- V神 对外发出交易的次数

保存前面每一个 Query 并取名,现在我们就来搭建你的首个 Dune Dashboard
在首页点击"New Dashboard",或直接在 Query 结果页面点击"Add to dashboard",输入 Dashboard 名字即可
建议:首次取名选简短的英文,这部分内容会被用在url上(只支持英文、数字且后期无法修改)。你可以首次取名并保存之后,再对其改名以显示完成内容(现在可以中英文、emoji表情混用了)
另一个常见的数据统计需求:分类汇总
比如我们想知道 V神 每月的转入、转出ETH总额
Query 代码的第1行中 date_trunc('month', block_time) 称为截断日期函数,用于将时间间隔截断为指定的精度级别(这里我们选取 month 统计每月数值,你还可以选 hour、minute 、second 、 day、week、year 等时间间隔单位 )
select date_trunc('month', block_time) as "Date",
sum(value/1e18) as "Value" -- 当月接收 ETH 求和
第2行中,我们要使用 sum 表示对当月的 ETH 转账金额进行求和
最后一行的 group by 1 即按第一个字段 "date" 进行分类汇总,如果是第二个字段,则为 group by 2,以此类推

累计求和,在前一项数据基础上,累加当前数据,不断重复。
一般我们会先按日求和,再不断累加汇总。比如统计某个协议有史以来所有充值到合约地址的ETH总额。
要实现“累计求和”,其 Query 代码稍微有些复杂。
with net as (
select day,
sum("total") as daily_sum
from (
select value/1e18 as "total",
date_trunc('day', "block_time") as day
from ethereum."traces"
where "from" = '\x1Db3439a222C519ab44bb1144fC28167b4Fa6EE6' -- 从 V神钱包地址 发出的交易
) as "total_amount"
group by day
)
select day, sum(sum("daily_sum")) over (order by day)
from net
group by day
order by day desc
面对这种情况,千万不要气馁。因为我们新人小白也有必杀技: Fork并修改关键参数
比如,我们直接 fork 下面这个 Query ,在其基础之上,只需要修改第8行参数即可
👉 dune.com/queries/732520

作为新人小白,我们一定要掌握的最重要的一门技能:fork 神技
站在前辈大神的肩膀之上,能让我们光速入门。越过陡峭的学习曲线,Fork 大神的代码与劳动成果,然后只需要简单修改核心参数,即可实现同类功能,获取心仪的数据(感恩大神与前辈的付出)
具体到 Dune上,我们在任一 Dune看板的图表区域点击左上角 Query 名字即可查看完整 SQL查询语句。Fork之,修改关键参数,然后点 Run 即可见证奇迹
比如 oxBi 大神做好的一个叫 ”Total Holder by Day - ENS ” 的 Query,统计了 ENS 代币每日的总持币人数。代码有67行之长,语法复杂,艰深无比,我等小白唯有汪洋兴叹的份儿。
但,如果你只是想借用下大神这个 Query 的功能,统计其他代币的每日持币人数,我们 Fork 后修改第14行代码中 Token 地址即可搞定。
站在巨人肩膀之上,轻松无比。
👉 dune.com/queries/326596/621471

零基础入门的小白能否直接实战?
当然!
👉 https://dune.com/gm365/Syndicate
这个 @SyndicateDAO 看板,所用到的基础知识在前面全部有所涉及。事实上,这也是我近期学习并用 Dune 做的第一个数据 Dashboard。
在前面基础知识铺垫之上,另一个关键就在于找准协议所对应的合约地址,大家可以点开每一个 Query 查看具体的 SQL 代码,你会发现实现这些链上数据统计功能并没有太难。

Dune 帮我们保存了珍贵的链上数据,我们要做的便是“各取所需,为我所用”。
大神们构建的Query语句精妙绝伦,却也繁复无比。我们作为小白,只要掌握了最基本的 SQL查询语句,其实已经可以开启神奇的链上数据分析师🧙♂️之旅了。
本文只能算作一个相当初级的 Dune 入门指南,无论是对 SQL 还是 Dune 的介绍,都有诸多遗漏。对于有心深入链上数据分析的同学而言,建议可以先从基础的 SQL 入门教程开始,掌握基础语法后,就可以选一个你喜欢的协议来尝试制作你个人版本的 Dune 数据看板了。
比如前面提到的 Syndicate Dashboard,也是我个人尝试的第一个看板。没成想,竟然还被收录到了第29期的官方 Dune Digest 中,属实意外。
本文写作过程中,参考了其他前辈与大神的诸多教程和文章。这里尤其感谢大神 @Pro_0xBi 的三篇 Mirror 教学文章,敬请移步大神置顶推文获取更多 Dune 秘籍。
[1] Dune 已经将域名从 dune.xyz 跳转到 dune.com
[2] Dune 于 2022.2.2 完成最新一轮 6942万美元融资 www.qianba.com/news/p-429265.html
[3] Dune 实际上使用的是一种叫 PostgreSQL 的查询语言,其兼容大部分 SQL 语句,普通用户无须做更进一步的区分
[4] 实际上, Dune 已经将其改名为 dataset,称为数据集更为准确,但其本质含义并未发生变化
[5] 以太坊的单位默认为 wei, 1个 ETH 相当于10的18次方wei,所以需要把原始单位除以 10的18次方,计算后的结果即为常用的 ETH 单位
Dune Analytics¹ 号称“平民版 Nansen”、“链上数据分析师神器”,为各路大神所追捧。
然神器在手,奈何找不到适合新手小白的说明书,我等只得望洋兴叹否?
非也!
本文作为一篇入门级的极简教程,适合 Dune 的零基础小白用户,与大家一起掀开 Dune 女神的面纱。
Dune 作为一款链上数据研究分析的强大工具,经过4轮融资,目前估值已达10亿美元²。
用户通过类SQL的数据库查询语言,从 Dune 缓存的区块链数据仓库中检索、筛选、提取、聚合,形成一个个 Query,再对查询到的数据进行可视化,最终汇总而成一个个 Dashboard 面板。
区块链本质上是一个去中心化的账本,所有过往的交易转账、合约调用形成了一条条的交易记录明细,包含交易时间、转入、转出地址、交易金额、调用信息、合约事件、tx_hash 等数据。
Dune 将以上所有数据分门别类进行存储形成数据仓库,供有需要的人通过类SQL语言来调用、查询、分析(可谓功德无量)。
SQL 即“结构化查询语言”,专用于数据库相关的查询、管理。
在 Dune 中,我们用 SQL³ 查询语句来获取所有想要的数据,构建成对应的 “Query”。

每一个数据表(table)⁴ 可以视作一个超大的 Excel 表格,按顺序记录了所有与之相关的数据。
Dune 提供了很多内置的知名协议专属的 "数据表dataset"。 注册登陆你的 Dune 账户,点击顶部的 "New Query" 即可打开如下页面: 左侧即为内置数据表,右侧是“查询语句”和“查询结果”

除了内置的数据表外,还有些常用的数据表,比如: 最常用的 ethereum.transactions,可以查询所有的以太坊链上交易信息,包括了普通转账和合约调用等信息。

不同数据表,提供的内容各有迥异。
以 "ethereum.transactions" 为例,表内提供了:
block_time 区块时间
from 发起地址
to 转入地址(或调用的合约地址)
value 转账金额,
data 附加数据(合约调用的input data)
等诸多数据

基本的 SQL 查询语句: SELECT * FROM X
select: 取什么数据
from: 从哪里取数据
where: 限制条件是什么
order by: 根据什么排序
limit: 限制取回的数据条数

打开 Dune 的 "New Query",粘贴以下语句
👉 select * from ethereum.transactions limit 5
点击 "Run" 稍等即可在"Query Results"看到查询结果
语句中的 * 代表查询所有字段,limit 5 是为了限制数据取回的数量,如果不加这条限制,你就是在告诉 Dune 要取回以太坊链上的所有交易数据(耗时超长且无必要)

现在让我们来试试更复杂(也更有趣)的 Dune 查询语句:查询 V神钱包 的链上交易信息
这次我们新增了 where "from" 限制条件,只筛选“V神”的钱包地址,order by 语句限定排序条件,desc 表降序
select *
from ethereum.transactions
where "from" = '\x1Db3439a222C519ab44bb1144fC28167b4Fa6EE6'
order by "block_time" desc
limit 10
点击链接即可复制语句,或 fork 后自己该参数运行 dune.com/queries/724390

现在,让我们筛选一些“更有用”的信息,比如:转账金额
select block_time as "date",
value/1e18 as "value" -- value 字段的值换算为 ETH 单位
from ethereum.transactions
where "from" = '\x1Db3439a222C519ab44bb1144fC28167b4Fa6EE6' -- 交易的发出地址为 V神钱包
and value/1e18 > 0.1 -- 转账金额 > 0.1 ETH
order by "block_time" desc -- 按照区块时间倒序排序
这次我们 select 选取两个字段: block_time 和 value
value 的值,我们通过 value/1e18 这个计算公式,换算为 ETH 单位⁵。
as 关键词为其取一个好听的别名
第5行 and 关键词指 where 下多个限定条件取交集
Query链接:https://dune.com/queries/728779

数据已有,可视化图表呼之欲出
对于随时间变动的数值,最普遍使用的图表就是bar chart (条形图📊、柱状图)了
在前一步生成的查询结果顶部点击"New visualization",选择“Bar Chart”,看到系统已经自动帮我们把 X,Y 轴都选好了。
如果在数据较多的情况下,则需要手动选择Y轴数据

一个最普遍的数据统计需求就是:加总求和
我们对筛选到的数据,直接使用 sum 函数即可
👉 sum(value/1e18) as "total"
select sum(value/1e18) as "total" -- 使用 sum 函数对 value 求和
from ethereum.transactions
where "from" = '\x1Db3439a222C519ab44bb1144fC28167b4Fa6EE6'
然后在可视化图表区域选择 Counter,修改 Title ,就有了如图的汇总数据:83.25万 ETH

SUM、AVG、MAX、MIN、COUNT 统称为聚合函数,用于将组中的行汇总为单个值。
前面提到的 sum 用于对数值求和,count 则用于统计查询记录的总数目。
比如我们统计下 V神 钱包总计对外发出交易的次数
👉 select count(*)
select count(*) -- count 函数用于计数
from ethereum.transactions
where "from" = '\x1Db3439a222C519ab44bb1144fC28167b4Fa6EE6' -- V神 对外发出交易的次数

保存前面每一个 Query 并取名,现在我们就来搭建你的首个 Dune Dashboard
在首页点击"New Dashboard",或直接在 Query 结果页面点击"Add to dashboard",输入 Dashboard 名字即可
建议:首次取名选简短的英文,这部分内容会被用在url上(只支持英文、数字且后期无法修改)。你可以首次取名并保存之后,再对其改名以显示完成内容(现在可以中英文、emoji表情混用了)
另一个常见的数据统计需求:分类汇总
比如我们想知道 V神 每月的转入、转出ETH总额
Query 代码的第1行中 date_trunc('month', block_time) 称为截断日期函数,用于将时间间隔截断为指定的精度级别(这里我们选取 month 统计每月数值,你还可以选 hour、minute 、second 、 day、week、year 等时间间隔单位 )
select date_trunc('month', block_time) as "Date",
sum(value/1e18) as "Value" -- 当月接收 ETH 求和
第2行中,我们要使用 sum 表示对当月的 ETH 转账金额进行求和
最后一行的 group by 1 即按第一个字段 "date" 进行分类汇总,如果是第二个字段,则为 group by 2,以此类推

累计求和,在前一项数据基础上,累加当前数据,不断重复。
一般我们会先按日求和,再不断累加汇总。比如统计某个协议有史以来所有充值到合约地址的ETH总额。
要实现“累计求和”,其 Query 代码稍微有些复杂。
with net as (
select day,
sum("total") as daily_sum
from (
select value/1e18 as "total",
date_trunc('day', "block_time") as day
from ethereum."traces"
where "from" = '\x1Db3439a222C519ab44bb1144fC28167b4Fa6EE6' -- 从 V神钱包地址 发出的交易
) as "total_amount"
group by day
)
select day, sum(sum("daily_sum")) over (order by day)
from net
group by day
order by day desc
面对这种情况,千万不要气馁。因为我们新人小白也有必杀技: Fork并修改关键参数
比如,我们直接 fork 下面这个 Query ,在其基础之上,只需要修改第8行参数即可
👉 dune.com/queries/732520

作为新人小白,我们一定要掌握的最重要的一门技能:fork 神技
站在前辈大神的肩膀之上,能让我们光速入门。越过陡峭的学习曲线,Fork 大神的代码与劳动成果,然后只需要简单修改核心参数,即可实现同类功能,获取心仪的数据(感恩大神与前辈的付出)
具体到 Dune上,我们在任一 Dune看板的图表区域点击左上角 Query 名字即可查看完整 SQL查询语句。Fork之,修改关键参数,然后点 Run 即可见证奇迹
比如 oxBi 大神做好的一个叫 ”Total Holder by Day - ENS ” 的 Query,统计了 ENS 代币每日的总持币人数。代码有67行之长,语法复杂,艰深无比,我等小白唯有汪洋兴叹的份儿。
但,如果你只是想借用下大神这个 Query 的功能,统计其他代币的每日持币人数,我们 Fork 后修改第14行代码中 Token 地址即可搞定。
站在巨人肩膀之上,轻松无比。
👉 dune.com/queries/326596/621471

零基础入门的小白能否直接实战?
当然!
👉 https://dune.com/gm365/Syndicate
这个 @SyndicateDAO 看板,所用到的基础知识在前面全部有所涉及。事实上,这也是我近期学习并用 Dune 做的第一个数据 Dashboard。
在前面基础知识铺垫之上,另一个关键就在于找准协议所对应的合约地址,大家可以点开每一个 Query 查看具体的 SQL 代码,你会发现实现这些链上数据统计功能并没有太难。

Dune 帮我们保存了珍贵的链上数据,我们要做的便是“各取所需,为我所用”。
大神们构建的Query语句精妙绝伦,却也繁复无比。我们作为小白,只要掌握了最基本的 SQL查询语句,其实已经可以开启神奇的链上数据分析师🧙♂️之旅了。
本文只能算作一个相当初级的 Dune 入门指南,无论是对 SQL 还是 Dune 的介绍,都有诸多遗漏。对于有心深入链上数据分析的同学而言,建议可以先从基础的 SQL 入门教程开始,掌握基础语法后,就可以选一个你喜欢的协议来尝试制作你个人版本的 Dune 数据看板了。
比如前面提到的 Syndicate Dashboard,也是我个人尝试的第一个看板。没成想,竟然还被收录到了第29期的官方 Dune Digest 中,属实意外。
本文写作过程中,参考了其他前辈与大神的诸多教程和文章。这里尤其感谢大神 @Pro_0xBi 的三篇 Mirror 教学文章,敬请移步大神置顶推文获取更多 Dune 秘籍。
[1] Dune 已经将域名从 dune.xyz 跳转到 dune.com
[2] Dune 于 2022.2.2 完成最新一轮 6942万美元融资 www.qianba.com/news/p-429265.html
[3] Dune 实际上使用的是一种叫 PostgreSQL 的查询语言,其兼容大部分 SQL 语句,普通用户无须做更进一步的区分
[4] 实际上, Dune 已经将其改名为 dataset,称为数据集更为准确,但其本质含义并未发生变化
[5] 以太坊的单位默认为 wei, 1个 ETH 相当于10的18次方wei,所以需要把原始单位除以 10的18次方,计算后的结果即为常用的 ETH 单位
No activity yet