このデモは誰に役立つのか?
このデモは、Web3で開発・分析・事業検証を行う人に向けた強力なブループリントです。次のいずれかに当てはまる方に最適です。
- ブロックチェーン開発者:DApp、ウォレット、取引所向けのリアルタイム監視ツールを素早く構築したい。
- データアナリスト:複雑なバッチ処理なしで、オンチェーンデータのトレンド分析や異常検知を行いたい。
- Web3起業家:オンチェーンアラートや動的手数料といったリアルタイムのデータ駆動型モデルを、低コスト・低運用負荷で検証したい。
課題:Solanaの“データ・ファイアホース”に向き合う
Solanaは毎秒数千件のトランザクションを処理する高スループットのブロックチェーンです。この継続的なデータ洪水は貴重な情報源ですが、同時に「リアルタイムに取り込み・解析・可視化する」ための大きな技術的ハードルにもなります。
従来のバッチ処理では遅延が大きく、結果は数時間〜数日後。多くのリアルタイム基盤はリソースを消費し、追従性にも限界があります。私たちはここに実用的な解を用意しました。
解決策:RisingWaveで実現するリアルタイム洞察
このデモは、Solanaの高スループットとRisingWaveのストリーム処理を組み合わせ、オンチェーンの生データを即座に“使える”インサイトへ変換する、シンプルで効率的なリアルタイムダッシュボードを提示します。
単なる可視化ツールではなく、ストリーミングデータベースを核に「ブロックチェーン上でデータ駆動アプリケーションを作るための設計図」を示すものです。
ダッシュボードの見どころ:できること
このデモは、Solanaの鼓動を“いまこの瞬間”に追える直感的なUIを備えています。主なビューを紹介します。
1. ブロック単位のライブ分析

キャプション:直近15ブロックにおけるSOLネイティブ転送とSPLトークン転送の主要指標を比較
- 高アクティビティのブロックを即把握:トランザクション数(Tx)、総ボリューム、平均サイズをひと目で比較可能。
- 資産フローを可視化:ネイティブSOLとSPLトークンの動きを区別し、エコシステム内の価値移動を把握。
2. 集計ビュー:全体像と“いま”の鼓動

キャプション:2分間の転送概況と5秒ごとのトランザクション数を示す集計ビュー
- 2分間の転送概況:直近のボリュームが一望できます。例では2分間で12,821件のSOL転送と287件のSPLトークン転送を処理し、市場の“熱量”や資本の流れを即座に把握できます。
- 5秒ごとのトランザクション数:ラインチャートでネットワークの鼓動を可視化。スパイクや沈静化をリアルタイムに検知できます。
仕組み:技術アーキテクチャ
このデモの要は、RisingWaveを中核に据えたシンプルかつ効率的な構成です。RisingWaveはストリーミングデータベースとして、SQLとマテリアライズドビューにより、冗長な再計算を避けながらリアルタイム結果を維持します。
エンドツーエンドのデータフローは次のとおりです。

キャプション:Solana RPC → パース/処理 → Kafka → RisingWave → ダッシュボードの流れ
- データ取得(Solana RPC):WebSocket/RPCインターフェースでSolanaのRPCノードに接続し、ブロック更新とトランザクション詳細をほぼリアルタイムに取得。
- データ処理・パース:カスタムスクリプトで生データを整形し、SOLおよびSPLトークン転送など主要イベントを抽出。ワーカープールで並列処理し、Solanaのスループットに追従します。収集データはKafkaトピックへ送信。

キャプション:RPCからKafkaまでの取り込み・整形パイプライン
-
ストリーミングエンジン(RisingWave):中核となる処理を担います。
-
取り込み:KafkaからRisingWaveへストリーミング。
CREATE SOURCEで生のトランザクションストリームをクエリ可能なテーブルとして扱えます。 - SQL変換:シンプルなSQLで、JSONを正規化されたリレーショナル構造へ変換します。
-
取り込み:KafkaからRisingWaveへストリーミング。
CREATE MATERIALIZED VIEW tx AS
SELECT
tx->>'slot' AS slot,
(tx->>'blockTime')::TIMESTAMPTZ AS blockTime,
tx->>'tx_type' AS tx_type,
tx->>'signature' AS signature,
tx->>'sender' AS sender,
tx->>'receiver' AS receiver,
(tx->>'amount')::NUMERIC AS amount,
tx->>'fee' AS fee
FROM (
SELECT jsonb_array_elements(transactions) AS tx
FROM txs
);
- 増分計算(マテリアライズドビュー):新着データに応じて結果を逐次更新。ダッシュボード更新のたびに再集計する必要がありません。例えば、5秒ウィンドウでトランザクション数を数えるビューは次のとおりです。
CREATE MATERIALIZED VIEW tx_5s_count AS
SELECT window_start,
COUNT(*) AS tx_count
FROM TUMBLE(tx, blocktime, INTERVAL '5 seconds')
GROUP BY window_start;
- リアルタイム可視化:RisingWaveのマテリアライズドビューから得られる事前計算済みの最新結果をダッシュボードへ直接供給し、オンチェーンのダイナミクスを“ひと目で”把握できます。
数分で自分でも構築してみよう
動作を確かめてみませんか?このデモはオープンソースです。手順に沿ってコードを動かし、Solanaリアルタイム分析の実力を体感してください。
