Skip to main content

概述

DAS API 方法每次调用最多返回 1,000 条记录。要检索更多数据,您需要分页——进行多次调用并遍历数据页。Helius 支持两种机制:基于页面的分页和键集分页。 基于页面的分页是入门的最简单方式。键集分页适用于高级用户高效查询大型(50万+)数据集。

何时使用

  • 基于页面 —— 静态视图、仪表板和大多数日常查询。简单直观。
  • 键集(游标或范围) —— 大型数据集(整个集合,50万+资产)在基于页面的爬取变慢时使用。
  • 并行键集 —— 通过分区地址范围扫描整个集合的最快选项。

排序选项

您可以使用 sortBy 字段根据不同字段对结果进行排序: 禁用排序可获得最快结果,但由于数据无序,分页时可能会得到不一致的结果。

基于页面的分页

您可以指定页码和每页的项目数。要移动到下一页,请增加页码。对于大多数用例来说,这种方法简单、直观且快速。
使用分页需要数据库遍历所有项目,直到到达下一页。例如,如果您请求第100页,每页大小为1,000,数据库必须遍历前100万条记录才能返回数据。因此,对于大型数据集,不推荐使用基于页的分页——键集分页更适合这些工作负载。

键集分页

您通过提供过滤数据集的条件来定义页面。例如,“获取所有 ID 大于 X 但小于 Y 的资产。”您通过在每次调用中修改 X 或 Y 来遍历整个数据集。有两种键集分页方法:
  1. 基于游标 ——使用更容易但灵活性较低。
  2. 基于范围 ——更复杂但非常灵活。
只有在按 id 排序时才支持键集分页。

基于游标

没有任何分页参数的 DAS 查询将返回一个游标。将游标传递回 DAS API 以从中断处继续。
在撰写本文时,游标是响应的最后一个资产 ID;然而,游标设计具有灵活性,可以支持任何字符串。

基于范围

要跨范围查询,指定 before 和/或 after。查询本质上是“获取所有在 X 之后但在 Y 之前的资产。”您通过在每次调用中更新 beforeafter 参数来遍历数据集。

使用键集的并行查询(高级)

查询大型数据集的高级用户(例如,整个压缩的 NFT 集合)应使用基于键集的分页以提高性能。以下示例显示如何通过划分 Solana 地址范围并使用 before/after 参数进行并行查询。此方法既快速又高效,还安全。
在下面的示例中,我们扫描整个Tensorian集合(约1万条记录)。它将Solana地址空间划分为8个范围,并同时扫描这些范围。这比其他方法快得多。

下一步

搜索资产

根据所有者、集合和tokenType过滤资产。

获取资产(NFTs)

检索NFTs、集合、版本和证明。

DAS API参考

提供每个DAS方法的完整模式。