Cardanoブロックチェーンは、瞬く間に分散型アプリケーション(DApp)と分散型金融(DeFi)ソリューション開発の拠点となりつつあります。すでに100近いプロジェクトがライブで、1000を超えるプロジェクトが構築中。Cardanoのトランザクションデータベースは拡大を続けています。
データクエリはライブプロジェクトやブロックチェーンで作業する開発者にとって不可欠です。なぜなら、データの正確性は安全でトラストレスなアクティビティの基盤となるためです。ウォレットを考えてみましょう。トランザクションを処理するためには、システムはウォレットにいくらの資金が保有されているか、そして、意図するトランザクションをカバーするのに十分であるかを知る必要があります。次に、このトランザクションの記録はチェーンに追加されますが、ウォレットにはブロックチェーンの最新ステータスと完全に同期することが求められます。
Cardanoで構築している場合、ブロックチェーンデータをクエリする必要が生じるでしょう。本稿では、Google BigQueryを使ったCardanoデータのクエリを含む、いくつかのオプションについて解説します。
Cardanoデータのクエリ
何千もの分散型ノードがCardanoネットワークを維持しており、各々がブロックチェーンのフルコピーを保持しています。チェーンに新たに追加される数多くのトランザクションとデータとともに、ブロックチェーンは恒常的に拡大しているため、すべてのブロックチェーン履歴を同期するためにかかる時間も増していきます。
Cardano DB SyncはCardanoのコアコンポーネントの1つであり、Cardanoブロックチェーンの履歴情報を検索およびクエリする便利な手段を提供します。DB Syncはクライアントとしてローカルノードに接続し、オンチェーンアクティビティと同期します。しかしDB Syncは、ノードとローカルデータベースサーバーを実行するために高度な技術的知識を必要とします。
これに替わる簡素化されたデータクエリ方法を提供するために、複数のソリューションが登場しました。技術的な専門知識、ソフトウェア要件、ニーズ等に応じて、ユーザーはデータクエリの合理化を目的としたさまざまなコミュニティ主導型のソリューションから選択することができます。たとえばCardano Blockchain Insightsは、Google Data Studioを使って視覚的なチャートとダッシュボードでブロックチェーンデータを提供します。ScrollsとBlockfrostは、ブロックチェーンデータの操作の最適化を目的とするソリューションに含まれます。
IOGは、Cardanoのデータを扱うためのオプションとしてGoogle BigQueryを導入しています。Google BigQueryにより、専用ソフトウェアを実行しなくても、比較的簡単にデータの検索ができるようになります。すべてのデータはCardano DB Syncから直接フェッチされ、その正確性を確かめるために検証されます。すなわち、洗練されたデータ検証プロセスによって、DB Sync内のものと同じデータにアクセスすることが保証されます。BigQueryはCardanoデータをエポック番号で整理しており、エポックごとのクエリを可能にしているため、コストが削減できます。さらにGoogle Data Studioを使用することにより、BigQueryのデータをもとに高度な視覚化とダッシュボードの作成が可能になります。
BigQueryの仕組み
Google Cloudプラットフォームのアカウントにログインし、BigQuery APIを有効にします。ここから先は簡単です。
- Google BigQueryまたはData Studioのプロジェクトを開く、または作成する
- IOGメインネットデータセットにアクセスする
これで、Cardanoブロックチェーンデータにクエリすることができます。
クエリ
データセットの使用方法は極めてシンプルです。気になるテーブルをセレクトして、「クエリ」をクリックすると詳細が表示されます。
図1:IOGデータ分析ダッシュボード
クエリしたデータをGoogle Data Studioにインポートすることもできます。これにより、さまざまなチャートやグラフを作成して、トランザクションやブロックの統計を可視化することができます。Cardano Blockchain Insightsの例をご覧ください。
データ更新プロセス
BigQueryで作業する際、いくつか注意点があります。
- データはDB Syncから2時間ごとにフェッチおよびコピーされます。
- データは、DB Syncの現ブロック高より前の最新約20ブロックのみ更新されます。これは、チェーンフォークの場合にブロックのロールバックを防ぐために重要です。
コスト
通常、BigQueryのデータクエリの料金は、処理するデータのテラバイト(TB)ごとに5ドルです。また、毎月1TBの無料使用分があります。詳細はBigQueryの料金案内をご覧ください。Cardanoデータテーブルはエポック番号で分割されているため、選択したエポックのデータをクエリすることが可能となります。このため、処理するデータの量が少なくなり、その分料金が下がります。
試してみる
現在、Cardano BigQueryプロジェクトはベータ版がリリースされています。ここにはすべてのブロックチェーンデータが含まれているわけではありません。とくに、ステーキングとその報酬の詳細は含まれません。IOGのチームは現在さらに開発を進めており、今後のイテレーションでIOG分析データセットはDB Syncの全Cardanoデータをカバーすることになります。
ツールの使用を始める際は、ステップごとのガイド付きドキュメントを必ずお読みください。また、クエリ例が付いた別のテーブルスキーマも参照できます。
プロジェクトについてのご意見は、bca@sbclab.netまでメールでお寄せください。
*本稿執筆にあたりご協力いただいたAlexander DiemandとThomas Kaliakosの両氏に感謝します。
免責事項
この記事の中には、Input Output Global, Inc.の管理外となる独立した当事者が所有し運営する第三者のウェブサイトへのリンクが含まれています(「第三者ウェブサイト」)。第三者ウェブサイトの使用および、ユーザーが提供するすべての情報は、守秘義務、データプライバシー、セキュリティに関連する事柄を含み、すべて第三者ウェブサイトの利用規約に準じ、管理されます。
最新の記事
Hydra Doom Tournament 筆者: Fernando Sanchez
22 November 2024
Quality Engineering at IO: bridging research and reality in software development 筆者: Ivan Irakoze
20 November 2024
ブラックホーク空へ:ハリケーン「へリーン」を受けて英雄達を輸送 筆者: Fernando Sanchez
29 October 2024