跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.chainstream.io/llms.txt

Use this file to discover all available pages before exploring further.

orderBy InputObject

每个 Cube 会生成 {Cube}OrderBy 输入对象,包含 ascendingdescending 字段。每个字段接受 CompareFields 枚举值,命名规则为维度路径以下划线连接:
{DimensionGroup}_{DimensionField}
嵌套维度逐级拼接:
Block_Time
Trade_Buy_Amount
Trade_Buy_PriceInUSD
用法:
orderBy: {descending: Block_Time}      # newest first
orderBy: {ascending: Trade_Buy_Amount}  # smallest amount first

常见 CompareFields 取值

CompareFields 值示例用法Cube说明
Block_TimeorderBy: {descending: Block_Time}DEXTrades, Transfers, BalanceUpdates, DEXPools, TokenSupplyUpdates, Pairs, Tokens最新的在前
Block_TimeorderBy: {ascending: Block_Time}DEXTrades, Transfers, BalanceUpdates, DEXPools, TokenSupplyUpdates, Pairs, Tokens最旧的在前
Interval_Time_StartorderBy: {ascending: Interval_Time_Start}Pairs, Tokens最旧的在前(区间起始时间)
Trade_Buy_AmountorderBy: {descending: Trade_Buy_Amount}DEXTrades买入量大的在前
Trade_Buy_PriceInUSDorderBy: {descending: Trade_Buy_PriceInUSD}DEXTradesUSD 价高的在前
Transfer_AmountInUSDorderBy: {descending: Transfer_AmountInUSD}TransfersUSD 转账额大的在前
LatestBalanceUSDorderBy: {descending: LatestBalanceUSD}TokenHolders持仓 USD 大的在前
BuyVolumeUSDStateorderBy: {descending: BuyVolumeUSDState}WalletTokenPnL买入量 USD 高的在前
GraphQL IDE 中用自动补全查看某 Cube 可用的全部 CompareFields——输入 orderBy: {descending: 后 IDE 会列出可选字段。

用法

传入 orderBy 输入对象,将 descendingascending 设为某个 CompareFields 值:
query {
  Solana {
    DEXTrades(
      orderBy: {descending: Block_Time}
      limit: { count: 10 }
    ) {
      Block { Time }
      Trade { Buy { Amount PriceInUSD } }
    }
  }
}
orderBy 仅接受单一方向/字段对。不支持多列排序——查询每次只按一个维度排序。

limit 参数

limit 控制返回行数,并支持基于 offset 的分页:
input LimitInput {
  count: Int   # Number of rows to return
  offset: Int  # Number of rows to skip
}

默认与最大限制

每个 Cube 在省略 limit 时有默认行数,并有最大上限:
Cube默认 count最大 count
DEXTrades2510,000
Transfers2510,000
BalanceUpdates2510,000
DEXPools2510,000
TokenSupplyUpdates2510,000
Pairs2510,000
Tokens2510,000
DEXPoolEvents2510,000
TokenHolders2510,000
WalletTokenPnL2510,000
若请求的 count 超过最大值,服务端会静默截断为最大允许值。

基于 Offset 的分页

使用 offset 翻页,模式很直接:
  • 第 1 页limit: { count: 50, offset: 0 }
  • 第 2 页limit: { count: 50, offset: 50 }
  • 第 3 页limit: { count: 50, offset: 100 }

示例:代币持有者分页

query {
  Solana {
    TokenHolders(
      tokenAddress: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
      orderBy: {descending: LatestBalanceUSD}
      limit: { count: 20, offset: 0 }
    ) {
      Holder { Address }
      LatestBalance
      LatestBalanceUSD
    }
  }
}

分页建议

没有稳定排序时,行间顺序可能在翻页时变化。请始终将 limit 与能产生确定顺序的 orderBy 一起使用。
很大的 offset(例如 50,000+)可能拖慢查询,因为数据库需扫描并跳过行。对超大结果集,优先用 where 收窄查询,而非深度 offset 翻页。
若某页返回行数少于请求的 count,说明已到达结果末尾。也可事先用 count 指标字段获取总行数。

实用示例

最新大额成交

获取 Solana 上最近 10 笔买入名义价值超过 10,000 美元的 DEX 成交:
query {
  Solana {
    DEXTrades(
      where: {
        Trade: { Buy: { PriceInUSD: { gt: 10000 } } }
      }
      orderBy: {descending: Block_Time}
      limit: { count: 10 }
    ) {
      Block { Time }
      Trade {
        Buy {
          Currency { MintAddress }
          Amount
          PriceInUSD
        }
        Dex { ProtocolName }
      }
    }
  }
}

OHLC K 线——最近 60 分钟

获取某代币 1 分钟 K 线,按时间正序:
query {
  Trading {
    Pairs(
      where: {
        Token: { Address: { is: "So11111111111111111111111111111111111111112" } }
        Market: { Network: { is: "sol" } }
        Block: { Time: { after: "2025-03-27T09:00:00Z" } }
      }
      orderBy: {ascending: Block_Time}
      limit: { count: 60 }
    ) {
      Block { Time }
      Price {
        Ohlc { Open High Low Close }
      }
      Volume { Usd }
      Stats { TradeCount }
    }
  }
}

Top 50 代币持有者

按 USD 余额排序取前 50 名持有者:
query {
  Solana {
    TokenHolders(
      tokenAddress: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
      orderBy: {descending: LatestBalanceUSD}
      limit: { count: 50 }
    ) {
      Holder { Address }
      LatestBalance
      LatestBalanceUSD
      FirstSeen
      LastSeen
    }
  }
}

下一步

筛选

将排序与筛选结合,构建精确的分析查询。

指标与聚合

使用 count、sum、avg、min、max、uniq 对已排序数据聚合。