Dune AnalyticsはWeb3マーケティングに欠かせない!ブロックチェーン上のデータを分析できるツールの使い方を詳しく紹介
みなさん、Dune Analyticsをご存知でしょうか。
私たちが日々ブロックチェーンを通じて取引しているデータをどのように分析すれば良いでしょうか?
エンジニアだけでなく、事業開発を進めていく上でオンチェーンデータの分析は欠かせません。しかし、ブロックチェーン上のデータは非常に扱いにくいため、分析をするためには独自にスクリプトを書く必要がありました。
Dune analyticsは、オンチェーンデータをSQLデータベースに保存し簡単にデータを呼び出せるようにしています。
本記事では、『Web3業界に転職したいけど、どんな領域がいいんだろう?』と悩む方に向けて、自分自身の観点で業界の動きを分析できるようなTipsをご紹介いたします。
Dune Analyticsとは?
Dune analyticsは、ブロックチェーン上の生データをSQLデータベースに保存することで、オンチェーンデータの分析を簡単にできるようにしています。
例えば以下のような疑問があるとします。
- OpenSeaの月間取引量はどれくらいだろう?
- NFTの市場は昨年と比べてどれくらい拡大あるいは縮小しているのだろう?
- 気になるGameFiのトークンはどれくらい取引されているだろう?
OpenSeaやNFT、GameFiのトークンは全てブロックチェーン上で取引されているためDune analyticsで分析することが可能です。
それぞれの分析を行っているダッシュボードを共有しますので、ぜひ参考にご覧ください。
Dune analyticsの基本
Duneは主要なチェーンだけでなく、今まさにエコシステムを拡大させている比較的新しいチェーンも対応しています。
対応チェーン
- Ethereum
- Polygon
- BNB Chain
- Solana
その他にも以下のブロックチェーンにも対応しています。
- Gnosis Chain
- Optimism
- Arbitrum
- Avalanche C-Chain
- Ethereum(Goerliテストネット)
- Fantom
用語
クエリ
クエリとは、ブロックチェーンの生データから特定の条件でデータを呼び出すためのリクエストにあたります。
ダッシュボード
Duneでは、いくつものクエリを組み合わせたページを作成することができます。
例えば、NFT Marketplaceに関するダッシュボードには、各マーケットプレイス別の売上や特定のコレクションの取引量の比較などといったクエリをまとめて表示しています。
Dune analyticsの使い方【基礎編】気になるクエリを検索する
Dune analyticsでは、クエリを自分で作成するだけではなく、他のユーザーが作成したクエリ・ダッシュボードを検索することができます。
まずは自分が気になっている分析に近いクエリを探すところから見つけてみましょう。
例として、OpenSeaの売上に関するクエリを探してみます。
まずヘッダーから「Discover」をクリックし、下に並んでいるメニューの中から「Queries」を選択します。
次に、画面右の検索ボックスで「opensea」と入力し、Time rangeをAll timeに変更します。
検索結果の一番上に出てきた「OpenSea daily volume (Ethereum)」を開いてみましょう。
クエリは、①クエリを作成するためのコード編集画面と②クエリ結果として表示されるグラフやテーブルの2つで構成されています。
①でコードを編集することで好きなようにオンチェーンデータを呼び出しすことが可能です。
具体的にはSQLというデータベース言語を記述することで、Duneが保持しているブロックチェーン上のトランザクションデータをデータベースから呼び出すことができますが、詳しくは以下の記事を参考にしてみてください。
クエリはそのまま自分のダッシュボードに貼り付けることもできますし、③Forkすることで、公開されたクエリをアレンジすることも可能です。
このようにして、自分が気になっている分析内容に近いクエリを探すことができます。
忘れないように☆マークをクリックしてお気に入りに登録しておきましょう。
Dune analyticsの使い方【応用編】公開されたクエリをフォークしてアレンジする
それでは、既存のクエリをフォークして自分なりのクエリを作成してみましょう。
今回は例として、先ほどお気に入りに登録したOpenseaの日別取引総額のクエリをForkし、週間取引総額がわかるようなクエリにアレンジしてみます。
日別の集計から週間の集計に変更する
データを日別に集計しているコードは、②クエリ編集画面の5行目と20行目にある下記コードで指定しています。
date_trunc('day', a.block_time) AS time_unit
この部分を週間で集計できるように、5行目と20行目のコードを以下のように変更してみましょう。
date_trunc('week', a.block_time) AS time_unit
変更したら、③結果出力画面の右上にある「Run」をクリックします。
しばらく経つと、以下のように取引総額が週間で集計されていることがわかります。
データ取得日数を変更する
次に、データ取得日数を変更してみましょう。
現状のクエリでは、90日間のデータをもとに集計しています。以下の手順で180日間のデータを集計するようにクエリを変更してみます。
どれくらいの日数を遡るかは9行目、12行目、23行目に記述されているコードで指定されています。
#9 AND p.minute >= CURRENT_DATE - '90 day'::interval
#12 WHERE a.block_time >= CURRENT_DATE - '90 day'::interval
#23 WHERE block_time >= CURRENT_DATE - '90 day'::interval
90 dayと書かれている部分を180に変更します。
#9 AND p.minute >= CURRENT_DATE - '180 day'::interval
#12 WHERE a.block_time >= CURRENT_DATE - '180 day'::interval
#23 WHERE block_time >= CURRENT_DATE - '180 day'::interval
変更したら、集計単位を変更した時と同じように「Run」をクリックし結果を表示させます。
これで昨年の8月ごろまでの取引を集計することができました。
最後に画面右上の「Save」をクリックしてクエリを保存します。
Dune analyticsのダッシュボードを作成する
最後に、作成したクエリをダッシュボードにまとめてみましょう。
トップページに戻り、右上の「≡」をクリックし「My dashboards」を選択します。
右側の検索ボックスから「New dashboard」を選択します。わかりやすいダッシュボードの名前をつけましょう。
ダッシュボードを作成したら、右上の「Edit」を選択して編集画面に移動します。先ほど作成したクエリは、「Add visualization」で追加することができます。
先ほど作成したクエリ「OpenSea daily volume (Ethereum) Bar chart」を追加します。
最後に、画面右上の「Done」をクリックして完了です。
終わりに
今回は、ブロックチェーン上のデータを分析するツール「Dune Analytics」をご紹介しました。
プログラミングに慣れていない方からすると、SQLを書くことが少し難しく思えるかもしれません。
Duneには公開されているクエリが沢山ありますので、それらを自分なりにダッシュボードにまとめつつ、細かなアレンジから取り組むのがおすすめです。
Web3業界への転職を考えている方は、是非Dune analyticsを使って自分自身の観点で業界の動きを分析してみましょう。
参考文献
- サムネイルはこちら
- ビビビット氏によるDune Analyticsに入門してみよう
- Fungible AnalystによるWeb3の分析はどうやる?Dune AnalyticsならSQLだけでスグに分析できる
- Alex Manuskin氏によるDune Analytics introduction tutorial (with examples)
Plus Web3は「Web3領域に特化したキャリア支援サービス」
Plus Web3では、Web3で働きたい人材と、個人に合わせた優良企業をマッチングする求人サービスを行っています。
- Web3で働くことも考えている…
- Web3のインターン先はどこがいいか分からない…
- どんな知識やスキルがあれば良いのか分からない…
このような悩みを抱える人は、一度「無料キャリア相談」にお越しください。あなたにマッチした優良企業をご紹介いたします。