Skip to main content

Aperçu

Les méthodes de l’API DAS renvoient jusqu’à 1 000 enregistrements par appel. Pour en récupérer davantage, vous utilisez la pagination — effectuant plusieurs appels et parcourant des pages de données. Helius prend en charge deux mécanismes : la pagination basée sur des pages et celle par jeux de clés. La pagination basée sur des pages est le moyen le plus simple pour commencer. La pagination par jeux de clés s’adresse aux utilisateurs avancés interrogeant de grands ensembles de données (500k+) de manière efficace.

Quand l’utiliser

  • Basée sur des pages — vues statiques, tableaux de bord et la plupart des requêtes quotidiennes. Simple et intuitive.
  • Jeux de clés (curseur ou plage) — grands ensembles de données (collections entières, 500k+ actifs) où le parcours par pages devient lent.
  • Jeux de clés parallèles — l’option la plus rapide pour scanner une collection entière en partitionnant la plage d’adresses.

Options de tri

Vous pouvez trier les résultats par différents champs en utilisant le champ sortBy : Désactiver le tri offre les résultats les plus rapides, mais comme les données ne sont pas ordonnées, vous pouvez obtenir des résultats incohérents lors de la pagination.

Pagination basée sur des pages

Vous spécifiez le numéro de page et le nombre d’éléments par page. Pour passer à la page suivante, incrémentez le numéro de la page. C’est simple, intuitif et rapide pour la plupart des cas d’utilisation.
L’utilisation des pages nécessite que la base de données parcoure tous les éléments jusqu’à ce qu’elle atteigne la page suivante. Par exemple, si vous demandez la page 100 avec une taille de page de 1 000, la base de données doit parcourir les premiers 1 million d’enregistrements avant de retourner vos données. Pour cette raison, la pagination basée sur des pages n’est pas recommandée pour de grands ensembles de données — la pagination par jeux de clés est bien mieux adaptée à ces charges de travail.

Pagination par jeux de clés

Vous définissez les pages en fournissant des conditions qui filtrent l’ensemble de données. Par exemple, “obtenez tous les actifs avec un ID > X mais un ID < Y.” Vous parcourez l’ensemble du dataset en modifiant X ou Y à chaque appel. Il existe deux méthodes de pagination par jeux de clés :
  1. Basée sur des curseurs — plus facile à utiliser mais moins flexible.
  2. Basée sur des plages — plus complexe mais très flexible.
La pagination par jeux de clés n’est prise en charge que lors du tri par id.

Basée sur des curseurs

Une requête DAS sans paramètres de pagination renvoie un curseur. Renvoyez le curseur à l’API DAS pour continuer là où vous vous êtes arrêté.
Au moment de l’écriture, le curseur est le dernier ID d’actif de la réponse ; cependant, la conception du curseur est flexible et peut prendre en charge n’importe quelle chaîne.

Basée sur des plages

Pour interroger sur une plage, spécifiez before et/ou after. La requête est essentiellement “obtenez tous les actifs après X mais avant Y.” Vous parcourez l’ensemble de données en mettant à jour le paramètre before ou after à chaque appel.

Requête parallèle avec jeux de clés (avancé)

Les utilisateurs avancés interrogeant de grands ensembles de données (par exemple, des collections NFT compressées entières) devraient utiliser la pagination par jeux de clés pour les performances. L’exemple suivant montre comment interroger en parallèle en partitionnant la plage d’adresses Solana et en utilisant les paramètres before/after. Cette méthode est rapide, efficace et sûre.
Dans l’exemple ci-dessous, nous scannons l’ensemble de la collection Tensorian (~10k enregistrements). Il partitionne l’espace d’adresses Solana en 8 plages et scanne ces plages simultanément. C’est bien plus rapide que les autres approches.

Étapes suivantes

Rechercher des actifs

Filtrer les actifs par propriétaire, collection et type de jeton.

Obtenir des actifs (NFTs)

Récupérer des NFTs, collections, éditions et preuves.

Référence de l'API DAS

Schémas complets pour chaque méthode DAS.