Skip to main content

Обзор

Методы DAS API возвращают до 1 000 записей за один вызов. Чтобы получить больше данных, используйте пагинацию — выполняйте несколько вызовов и последовательно обходите страницы данных. Helius поддерживает два механизма: постраничную пагинацию и пагинацию по ключу. Постраничная пагинация — самый простой способ начать работу. Пагинация по ключу предназначена для опытных пользователей, которым необходимо эффективно выполнять запросы к большим наборам данных (более 500 тыс. записей).

Когда это использовать

  • Постраничная пагинация — статические представления, панели мониторинга и большинство повседневных запросов. Простой и понятный вариант.
  • Пагинация по ключу (курсор или диапазон) — большие наборы данных (целые коллекции, более 500 тыс. активов), для которых постраничный обход становится медленным.
  • Параллельная пагинация по ключу — самый быстрый вариант сканирования всей коллекции путем разделения диапазона адресов.

Варианты сортировки

Результаты можно сортировать по различным полям с помощью поля sortBy: Отключение сортировки обеспечивает самые быстрые результаты, но из-за отсутствия упорядочивания данных результаты при пагинации могут быть несогласованными.

Постраничная пагинация

Укажите номер страницы и количество элементов на странице. Чтобы перейти к следующей странице, увеличьте номер страницы. Это простой, понятный и быстрый подход для большинства сценариев использования.
При использовании страниц базе данных необходимо обходить все элементы, пока она не достигнет следующей страницы. Например, если запросить страницу 100 с размером страницы 1 000, база данных должна пройти первые 1 млн записей, прежде чем вернуть данные. Поэтому постраничная пагинация не рекомендуется для больших наборов данных — пагинация по ключу гораздо лучше подходит для таких нагрузок.

Пагинация по ключу

Для определения страниц задайте условия, фильтрующие набор данных. Например: «Получить все активы с ID > X, но с ID < Y». Чтобы обойти весь набор данных, изменяйте X или Y при каждом вызове. Существует два метода пагинации по ключу:
  1. На основе курсора — проще в использовании, но менее гибкий.
  2. На основе диапазона — более сложный, но очень гибкий.
Пагинация по ключу поддерживается только при сортировке по id.

На основе курсора

Запрос DAS без параметров пагинации возвращает курсор. Передайте курсор обратно в DAS API, чтобы продолжить с места остановки.
На момент написания документации курсор представляет собой ID последнего актива в ответе. Однако структура курсора допускает использование любой строки.

На основе диапазона

Чтобы выполнить запрос по диапазону, укажите before и/или after. По сути, запрос означает: «Получить все активы после X, но до Y». Чтобы обойти набор данных, обновляйте параметр before или after при каждом вызове.

Параллельные запросы с пагинацией по ключу (для опытных пользователей)

Для повышения производительности опытным пользователям, выполняющим запросы к большим наборам данных (например, к целым коллекциям сжатых NFT), следует использовать пагинацию по ключу. В следующем примере показано, как выполнять запросы параллельно, разделяя диапазон адресов Solana и используя параметры before/after. Этот метод быстрый, эффективный и безопасный.
В приведенном ниже примере сканируется вся коллекция Tensorian (около 10 тыс. записей). Пространство адресов Solana разделяется на 8 диапазонов, которые сканируются параллельно. Это гораздо быстрее других подходов.

Дальнейшие действия

Search Assets

Фильтруйте активы по владельцу, коллекции и tokenType.

Get Assets (NFTs)

Получайте NFT, коллекции, издания и доказательства.

DAS API reference

Полные схемы для каждого метода DAS.