getBlocks vous permet de récupérer une liste de numéros de slot de blocs confirmés entre un slot de départ spécifié et un slot de fin optionnel. Cela est utile lorsque vous devez savoir quels blocs ont été confirmés dans une plage particulière sans récupérer le contenu complet de chaque bloc.
Cas d’utilisation courants
- Identifier les blocs confirmés dans une plage : Obtenez rapidement une liste de tous les slots de blocs qui ont été confirmés avec succès entre deux points du registre.
- Itération à travers les blocs : Utilisez la liste des slots retournée pour récupérer ensuite des informations détaillées pour chaque bloc en utilisant
getBlocksi nécessaire. - Audit de base des blocs : Vérifiez la présence des blocs dans une certaine plage.
Paramètres de requête
La méthodegetBlocks prend les paramètres suivants :
start_slot(u64, obligatoire) : Le premier slot à considérer pour la plage (inclus).end_slot(u64, optionnel) : Le dernier slot à considérer pour la plage (inclus).- S’il n’est pas fourni, la requête renverra les blocs jusqu’au dernier slot confirmé de
start_slot. - La plage entre
start_slotetend_slot(ou le dernier slot siend_slotest omis) ne doit pas dépasser 500 000 slots.
- S’il n’est pas fourni, la requête renverra les blocs jusqu’au dernier slot confirmé de
commitment(chaîne, optionnel) : Spécifie le niveau d’engagement pour la requête. S’il est omis, l’engagement par défaut du nœud est utilisé. Cela est passé comme le seul champ dans un objet de configuration en tant que dernier paramètre.
Structure de la réponse
Le champresult de la réponse JSON-RPC sera un tableau d’entiers u64. Chaque entier du tableau représente un numéro de slot de bloc confirmé dans la plage spécifiée.
- Exemple :
[5, 6, 7, 8, 9, 10]
Exemples
1. Obtenir des blocs dans une plage de slots spécifique
Cet exemple récupère la liste des slots de blocs confirmés entre le slot250000000 et 250000010.
2. Obtenir des blocs d’un slot de départ jusqu’au dernier slot confirmé
Cet exemple récupère les slots de blocs confirmés à partir de260000000 jusqu’au dernier bloc confirmé par le nœud (en respectant la limite de range de 500 000 slots à partir du slot de départ).
3. Obtenir des blocs avec un niveau d’engagement spécifique
Cet exemple récupère les blocs en utilisant le niveau d’engagementconfirmed.
Conseils pour les développeurs
- Limite de plage : N’oubliez pas la limite de 500 000 slots. Demander une plage plus grande entraînera une erreur.
- Disponibilité des données du nœud : Les nœuds peuvent ne pas conserver les informations pour tous les slots historiques. Les valeurs très anciennes de
start_slotpeuvent renvoyer des tableaux vides ou des erreurs en fonction de la configuration du nœud et de la rétention du registre. - Confirmation des blocs : Cette méthode retourne des blocs confirmés. L’ensemble exact de blocs peut varier légèrement en fonction du niveau
commitmentchoisi et du nœud que vous interrogez, en particulier pour les slots très récents. - Complément à
getBlock:getBlocksest souvent utilisé comme première étape pour identifier les slots de blocs pertinents avant d’utilisergetBlockpour récupérer les détails complets des blocs individuels dans cette liste. - Alternative de pagination : Étant donné que
getBlocksa une limite de plage, si vous devez analyser une très grande partie de la chaîne, vous devrez effectuer plusieurs appels àgetBlocks, en découpant votre plage totale désirée en segments de 500 000 slots ou moins.
getBlocks pour répertorier les slots de blocs confirmés sur le réseau Solana.
Méthodes associées
getBlock
Obtenez des informations détaillées pour un bloc spécifique
getBlocksWithLimit
Obtenez un nombre fixe de blocs à partir d’un slot