メインコンテンツへスキップ

Cubeとは

Cubeは、1つ以上のOLAPデータベーステーブルにマッピングされる分析データモデルです。各Cubeは以下を定義します:
  • ディメンション — ネストされた階層で整理されたクエリ可能なフィールド(例:Block.TimeTrade.Buy.Currency.MintAddress
  • セレクター — トップレベルのショートカットフィルタ引数(例:tokenAddress)で、一般的なフィルタパターンを簡素化
  • メトリクス — Recordタイプで利用可能な集計関数(countsumなど)
  • デフォルト — 自動的に適用されるデフォルトフィルタとページネーション制限
Cubeにクエリを実行すると、activecube-rsはGraphQLクエリをCubeのバッキングテーブルに対する最適化されたSQLにコンパイルします。テーブルは{chain}_{table_name}(例:sol_dex_tradeseth_transfers)の命名パターンに従います。

Cube一覧

25のCubeが3つのチェーングループに整理されています。各Cubeはデータウェアハウスレイヤーに属します:
  • DWD(Detail) — イベント単位の生データ、最高粒度
  • DWM(Aggregated) — 事前計算されたロールアップ(例:分単位)
  • DWS(Summary) — 高度に集計されたスナップショット
  • DIM(Dimension) — 参照/ルックアップテーブル
Cubeチェーングループレイヤー目的
DEXTradesEVM、SolanaDWDトレード単位のDEXスワップイベント
DEXTradeByTokensEVM、SolanaDWDトークンでインデックス化されたDEXトレード(売/買側)
TransfersEVM、SolanaDWDトークントランスファーイベント
BalanceUpdatesEVM、SolanaDWDウォレット残高変更イベント
DEXPoolEventsEVM、SolanaDWD流動性追加/削除イベント
TokenSupplyUpdatesEVM、SolanaDWDトークンミント/バーンイベント
BlocksEVM、SolanaDWDブロックレベルデータ
TransactionsEVM、SolanaDWDトランザクションレベルデータ
TransactionBalancesEVM、SolanaDWDトランザクション単位の残高変更
InstructionsSolanaDWDSolanaインストラクションデータ
InstructionBalanceUpdatesSolanaDWDインストラクションレベルの残高変更
RewardsSolanaDWDバリデータ/ステーキングリワード
DEXOrdersSolanaDWDDEXオーダーイベント(リミットオーダー)
EventsEVMDWDスマートコントラクトイベントログ
CallsEVMDWD内部コールトレース
MinerRewardsEVMDWDマイナー/バリデータリワード
DEXPoolSlippagesEVMDWDプールスリッページデータ
UnclesEVMDWDアンクルブロックデータ
PairsTradingDWMOHLCローソク足データ(クロスチェーン)
TokensTradingDWMトークン単位のトレード統計(クロスチェーン)
DEXPoolsEVM、SolanaDWS現在のリザーブ付きプールスナップショット
TokenHoldersEVM、SolanaDWSトークンホルダー残高
WalletTokenPnLEVM、SolanaDWSウォレット-トークン単位のPnL
PredictionTradesEVM (Polygon)DWD予測市場トレード
PredictionManagementsEVM (Polygon)DWD予測市場管理イベント
PredictionSettlementsEVM (Polygon)DWD予測市場決済

EVM + Solana共有Cube

これらのCubeはEVMSolanaの両方のチェーングループで利用可能です。
テーブル: {chain}_dex_trades デフォルトリミット: 25(最大10,000) デフォルトフィルタ: IsSuspect = false(ボット/MEVトレードはデフォルトで除外) セレクター: tokenAddresswalletAddresspoolAddressdexProgramdate メトリクス: countsumavgminmaxuniq主要フィールド:
DEXTradesRecord {
  Block { Time, Slot, Height }
  Transaction { Hash, FeeInNative }
  Trade {
    Buy { Currency { MintAddress }, Amount, PriceInUSD, Account { Owner } }
    Sell { Currency { MintAddress }, Amount, Account { Owner } }
    Dex { ProgramAddress, ProtocolName }
  }
  Pool { Address }
  IsSuspect
}
ユースケース: トレード履歴、ウォレットトレード分析、DEX出来高内訳、大口トレード検出。
テーブル: {chain}_dex_trades_enriched(UNIONサブクエリ — トレード側ごとに1行) セレクター: tokenAddresssideTypepoolAddressdexProgramdate メトリクス: countsumavgminmaxuniq主要フィールド:
DEXTradeByTokensRecord {
  Block { Time, Slot, Height }
  Transaction { Signature, Fee, FeeInUSD }
  Trade {
    Currency { MintAddress, Symbol, Name }
    Amount, AmountInUSD, PriceInUSD, PriceInNative
    Side { Type, Currency { MintAddress }, Amount }
    Account { Owner }
    Dex { ProgramAddress, ProtocolName }
    Market { PoolAddress }
  }
}
ユースケース: トークン単位のトレードクエリ(買い・売り両方)、トークン出来高分析、効率的な単一トークンフィルタリング。
テーブル: {chain}_transfers セレクター: tokenAddresssenderAddressreceiverAddressdate メトリクス: countsumavguniq主要フィールド:
TransfersRecord {
  Block { Time, Slot }
  Transaction { Hash, Signer }
  Transfer {
    Currency { MintAddress }
    Sender { Address, TokenAccount }
    Receiver { Address, TokenAccount }
    Amount, AmountInUSD, PriceInUSD
  }
}
ユースケース: ウォレットトランスファー履歴、クジラモニタリング、取引所入出金追跡。
テーブル: {chain}_balance_updates セレクター: ownerAddresstokenAddressdate メトリクス: countsumavgminmaxuniq主要フィールド:
BalanceUpdatesRecord {
  Block { Time, Slot }
  Transaction { Hash }
  BalanceUpdate {
    Currency { MintAddress, Decimals }
    Account { Address, Owner }
    PreBalance, PostBalance
    PreBalanceInUSD, PostBalanceInUSD
  }
}
ユースケース: 残高変更追跡、ポジションモニタリング、蓄積/分配検出。
テーブル: {chain}_dex_pool_events_enriched セレクター: poolAddresstokenAddressdate メトリクス: countsumavgmax主要フィールド:
DEXPoolEventsRecord {
  Block { Time }
  Transaction { Signature }
  Pool {
    Market { Address, BaseCurrency { ... }, QuoteCurrency { ... } }
    Dex { ProgramAddress, ProtocolName }
    Base { PostAmount, ChangeAmount, PriceInUSD }
    Quote { PostAmount, ChangeAmount }
    LiquidityInUSD
  }
}
ユースケース: 流動性追加/削除モニタリング、プールTVL追跡、新規プール検出。
テーブル: {chain}_token_supplies セレクター: tokenAddress主要フィールド:
TokenSupplyUpdatesRecord {
  Block { Time }
  TokenSupplyUpdate {
    Currency { MintAddress, Decimals }
    PostBalance, MarketCapInUSD, PriceInUSD, FDVInUSD, TotalSupply
  }
}
ユースケース: ミント/バーンイベント追跡、サプライ変更アラート、時価総額履歴。
テーブル: {chain}_blocks セレクター: date メトリクス: countsumavgminmax主要フィールド:
BlocksRecord {
  Block {
    Time, Date, Height, Hash, ParentHash, TxCount
    # Solana固有
    Slot, ParentSlot, RewardsCount
    # EVM固有
    Number, Coinbase, GasLimit, GasUsed, BaseFee, Difficulty
  }
}
ユースケース: ブロック生成モニタリング、ガス分析(EVM)、スロット追跡(Solana)。
テーブル: {chain}_transactions セレクター: datetxHash/txSignaturefromAddresstoAddressfeePayersigner メトリクス: countsumavgminmax主要フィールド:
TransactionsRecord {
  Block { Time, Slot, Height }
  Transaction {
    # Solana: Signature, Fee, FeePayer, Signer, Result { Success }
    # EVM: Hash, From, To, Value, Gas, GasPrice, Nonce, Type
  }
  Fee { ... }     # EVM EIP-1559手数料内訳
  Receipt { ... } # EVMレシートフィールド
}
ユースケース: トランザクション検索、ガス/手数料分析、アクティビティモニタリング。
テーブル: {chain}_transaction_balances セレクター: dateaddresscurrency メトリクス: countsumavgminmax主要フィールド:
TransactionBalancesRecord {
  Block { Time }
  Transaction { Hash, Index }
  TokenBalance {
    Address, TokenAccount
    Currency { SmartContract, Symbol, Name, Decimals }
    PreBalance, PostBalance, Change
    PreBalanceInUSD, PostBalanceInUSD, ChangeInUSD
    UpdateType
  }
}
ユースケース: トランザクション単位の残高影響分析、トークンフロー追跡。
このCubeはdataset切り替えをサポートしていません(_realtime / _archiveテーブルバリアントなし)。

Solana専用Cube

これらのCubeはSolanaチェーングループでのみ利用可能です。
テーブル: sol_instructions_enriched セレクター: dateprogramIdtxSignature メトリクス: countuniq主要フィールド:
InstructionsRecord {
  Block { Time, Slot }
  Transaction { Signature }
  Instruction {
    Index, Depth, InternalSeqNumber
    Program { Address, Name, Method }
    Accounts
    Data
    CallPath, Logs
  }
}
ユースケース: プログラムインタラクション分析、インストラクションレベルのデバッグ、プロトコル使用量追跡。
テーブル: sol_balance_updates_enriched セレクター: datetokenAddressownerAddressprogramId メトリクス: countsumavgminmaxuniq主要フィールド:
InstructionBalanceUpdatesRecord {
  Block { Time, Slot }
  Transaction { Signature }
  Instruction { Index, Program { Address } }
  BalanceUpdate {
    Currency { MintAddress, Decimals }
    Account { Address, Owner }
    Amount, AmountInUSD
    PreBalance, PostBalance
  }
}
ユースケース: インストラクションレベルの残高影響分析、プログラム手数料追跡。
このCubeはdataset切り替えをサポートしていません。
テーブル: sol_rewards セレクター: dateaddress メトリクス: countsumavg主要フィールド:
RewardsRecord {
  Block { Time, Slot }
  Reward {
    Address
    Amount
    AmountInUSD
    PostBalance
    RewardType
    Commission
  }
}
ユースケース: ステーキングリワード追跡、バリデータパフォーマンス、リワード履歴。
テーブル: sol_dex_orders セレクター: datemarketAddressorderTypeownerAddress メトリクス: countsumavguniq主要フィールド:
DEXOrdersRecord {
  Block { Time, Slot }
  Transaction { Signature }
  OrderEvent {
    Type
    Market { Address }
    Order { Id, BuySide, LimitPrice, Mint, Owner }
    Dex { ProgramAddress, ProtocolName }
  }
}
ユースケース: オーダーブック分析、リミットオーダー追跡、市場マイクロ構造研究。

EVM専用Cube

これらのCubeはEVMチェーングループ(ethbscpolygon)でのみ利用可能です。
テーブル: {chain}_logs_enriched セレクター: datecontractAddresstxHashtopic0 メトリクス: countuniq主要フィールド:
EventsRecord {
  Block { Time, Number }
  Transaction { Hash, From, To }
  Log {
    SmartContract
    Index
    Signature { Name, Signature }
    Topics
    Data
  }
}
ユースケース: スマートコントラクトイベントモニタリング、プロトコルアクティビティ追跡、カスタムイベントフィルタリング。
テーブル: {chain}_traces_enriched セレクター: datetxHashtoAddress メトリクス: countsumuniq主要フィールド:
CallsRecord {
  Block { Time, Number }
  Transaction { Hash }
  Call {
    Index, Depth
    From, To
    Opcode
    Gas, GasUsed
    Input, Output
    Value
    Signature { Name, Signature }
  }
}
ユースケース: 内部トランザクショントレース、コントラクトインタラクション分析、MEV検出。
テーブル: {chain}_miner_rewards セレクター: dateminer メトリクス: countsumavgminmax主要フィールド:
MinerRewardsRecord {
  Block { Time, Number, Hash }
  Reward {
    Miner
    TotalReward, TotalRewardInUSD
    BurntFees, DynamicReward, StaticReward
    TxFees, UncleReward
  }
}
ユースケース: バリデータ/マイナーリワード分析、ブロックリワードトレンド、MEV収益追跡。
テーブル: {chain}_dex_pool_slippages セレクター: datepoolAddress メトリクス: countavgminmax主要フィールド:
DEXPoolSlippagesRecord {
  Block { Time }
  Price {
    Pool { SmartContract, CurrencyA { ... }, CurrencyB { ... } }
    AtoB, BtoA
    AtoBMin, AtoBMax
    SlippageBasisPoints
    Dex { ProtocolName }
  }
}
ユースケース: スリッページモニタリング、プール深度分析、約定品質評価。
テーブル: {chain}_uncles セレクター: dateminer メトリクス: count主要フィールド:
UnclesRecord {
  Block { Time, Number }
  Uncle {
    Index, Hash, ParentHash
    Miner, Difficulty, Number
    GasLimit, GasUsed, Timestamp
  }
}
ユースケース: アンクルブロック分析、ネットワーク健全性モニタリング(主にEthereum PoWの履歴データ)。

Trading Cube(クロスチェーン)

これらのCubeはTradingチェーングループにあります。すべての対応チェーン(solethbsc)からのデータを集計し、フィルタリング用のchainディメンションを含みます。
テーブル: チェーン間のマテリアライズドビュー({chain}_ohlc_mvセレクター: tokenAddresschaindate メトリクス: countsumavgminmax主要フィールド:
PairsRecord {
  Token { Address }
  Market { Network }
  Block { Time }
  Interval { Time }
  Price {
    Ohlc { Open, High, Low, Close }
  }
  Volume { Usd, Native }
  Stats { TradeCount, BuyCount, SellCount }
}
ユースケース: ローソク足チャート、価格履歴、出来高分析、クロスチェーン価格比較。
テーブル: チェーン間のマテリアライズドビュー({chain}_token_trade_stats_mvセレクター: tokenAddresschaindate メトリクス: countsumavgminmax主要フィールド:
TokensRecord {
  Token { Address }
  Market { Network }
  Block { Time }
  Interval { Time }
  Volume { Usd, BuyVolumeUSD, SellVolumeUSD, Base }
  Stats {
    TradeCount, BuyCount, SellCount
    UniqueBuyers, UniqueSellers
  }
}
ユースケース: 売買圧力分析、ユニークトレーダー数、出来高トレンド、クロスチェーントークン比較。

サマリーCube(DWS)

サマリーCubeは高度に集計されたスナップショット形式のデータを提供し、素早い検索に最適です。
テーブル: {chain}_dex_pools(DWSレイヤー) セレクター: poolAddresstokenAtokenB メトリクス: count主要フィールド:
DEXPoolsRecord {
  Pool {
    Address
    TokenAAddress, TokenBAddress
    ProgramAddress
    LiquidityUSD
    PriceAtoB, PriceBtoA
    LastUpdated
  }
}
ユースケース: プール発見、現在の流動性ランキング、プールメタデータ検索。
このCubeはdataset切り替えや時間ベースのフィルタリングをサポートしていません。プール状態の最新スナップショットを表します。
テーブル: {chain}_token_holders セレクター: tokenAddress主要フィールド:
TokenHoldersRecord {
  Token { Address }
  Holder { Address }
  LatestBalance
  LatestBalanceUSD
  FirstSeen
  LastSeen
}
ユースケース: トップホルダーリスト、ホルダー分布、クジラ追跡。
このCubeはdataset切り替えをサポートしていません。
テーブル: {chain}_wallet_token_pnl セレクター: walletAddress主要フィールド:
WalletTokenPnLRecord {
  Wallet { Address }
  Token { Address }
  BuyVolumeUSDState, SellVolumeUSDState
  BuyCountState, SellCountState
  FirstTradeState, LastTradeState
}
ユースケース: トークン単位のウォレットPnL、トレーディングパフォーマンスリーダーボード、ポートフォリオ分析。
このCubeはdataset切り替えをサポートしていません。

予測市場Cube

これらのCubeはEVMチェーングループで利用可能で、主にPolygonの予測市場プロトコルで使用されます。
テーブル: {chain}_prediction_trades セレクター: dateconditionIdquestionIdmarketplace メトリクス: countsumavgminmaxuniq主要フィールド:
PredictionTradesRecord {
  Block { Time }
  Transaction { Hash }
  Trade { Buyer, Seller, Amount, Price, Fee }
  Prediction {
    Condition { Id, Outcomes }
    Question { Id }
    Outcome, OutcomeToken
    Marketplace { ProtocolName }
    CollateralToken { SmartContract }
  }
}
ユースケース: 予測市場トレード履歴、結果価格設定、マーケットプレイス出来高。
予測市場Cubeはdataset切り替えをサポートしていません。
テーブル: {chain}_prediction_managements セレクター: dateeventTypeconditionIdquestionId メトリクス: countsumavgminmaxuniq主要フィールド:
PredictionManagementsRecord {
  Block { Time }
  Transaction { Hash }
  Management {
    EventType, Description, Group
    Prediction { Condition { ... }, Question { ... }, Marketplace { ... } }
  }
}
ユースケース: マーケット作成/解決追跡、条件管理イベント。
テーブル: {chain}_prediction_settlements セレクター: dateeventTypeconditionIdholder メトリクス: countsumavgminmaxuniq主要フィールド:
PredictionSettlementsRecord {
  Block { Time }
  Transaction { Hash }
  Settlement {
    EventType, Holder
    OutcomeTokenIds, Amounts
    Prediction { Condition { ... }, CollateralToken { ... }, Marketplace { ... } }
  }
}
ユースケース: 決済追跡、支払い分析、ポジション償還モニタリング。

適切なCubeの選び方

クエリを満たす最も集計されたCubeを選びましょう。DWM/DWS Cubeは時系列やサマリーデータにおいてDWD Cubeよりも桁違いに高速です。
ニーズ推奨Cubeレイヤー
個別のトレードイベントDEXTradesDWD
トークン単位のトレードクエリDEXTradeByTokensDWD
トークントランスファー履歴TransfersDWD
ローソク足/価格チャートPairsDWM
経時的なトレード出来高TokensDWM
現在のトップホルダーTokenHoldersDWS
ウォレットPnL内訳WalletTokenPnLDWS
プールの現在状態DEXPoolsDWS
流動性イベントDEXPoolEventsDWD
スマートコントラクトイベント(EVM)EventsDWD
内部トレース(EVM)CallsDWD
SolanaインストラクションInstructionsDWD
予測市場トレードPredictionTradesDWD

Datasetの互換性

すべてのCubeがdatasetパラメータ(realtime/archive/combined)をサポートしているわけではありません。以下のCubeはdataset値に関係なく常にフルテーブルをクエリします:
  • TokenHoldersWalletTokenPnLDEXPools(DWSレイヤー — 常に最新スナップショット)
  • TransactionBalances
  • PredictionTradesPredictionManagementsPredictionSettlements
詳細はデータセットとアグリゲートをご覧ください。

次のステップ

チェーングループ

EVM、Solana、Tradingチェーングループを理解。

フィルタリング

whereとセレクターショートカットでフィルタリングを学習。

メトリクスと集計

count、sum、avg、min、max、uniqでデータを集計。