Skip to main content
La méthode RPC getBlockHeight est un moyen simple de demander à un nœud Solana sa hauteur de bloc actuelle. La hauteur de bloc représente le nombre de blocs traités depuis le bloc de genèse (slot 0). Cette méthode est utile pour comprendre rapidement l’avancement de la chaîne ou pour référencer la dernière hauteur de bloc à un niveau d’engagement spécifique.

Cas d’Utilisation Courants

  • Surveillance de la Progression de la Chaîne : Appelez périodiquement cette méthode pour voir la chaîne avancer.
  • Obtenir un Instantané de la Longueur de la Chaîne : Déterminez le nombre total de blocs traités jusqu’à un certain point (basé sur l’engagement).
  • Référencement Croisé avec d’Autres Données : Utilisez la hauteur de bloc comme point de référence lors de l’analyse d’autres données ou événements sur la chaîne.

Paramètres

getBlockHeight peut éventuellement prendre un objet de configuration comme premier paramètre (ou être appelé sans paramètres pour utiliser les valeurs par défaut) :
  1. config (objet, optionnel) : Un objet de configuration avec les champs suivants :
    • commitment (chaîne, optionnel) : Spécifie le niveau d’engagement à utiliser pour la requête. Par défaut, c’est finalized.
      • finalized : Le nœud interrogera le bloc le plus récent confirmé par la supermajorité du cluster comme ayant atteint le verrouillage maximal.
      • confirmed : Le nœud interrogera le bloc le plus récent voté par une supermajorité du cluster.
      • processed : Le nœud interrogera son bloc le plus récent. Notez que le bloc peut ne pas être complet.
    • minContextSlot (nombre, optionnel) : Le slot minimum auquel la requête peut être évaluée. Cela garantit que la hauteur de bloc retournée provient d’un slot égal ou supérieur à minContextSlot.
Si aucun paramètre n’est fourni, la méthode utilise généralement l’engagement par défaut finalized.

Conseils pour les Développeurs

  • Les Niveaux d’Engagement Comptent : La hauteur de bloc retournée peut varier selon le niveau commitment spécifié. finalized donne la hauteur la plus stable, tandis qu’processed pourrait donner une hauteur plus actuelle mais potentiellement transitoire.
  • minContextSlot pour la Cohérence : Utilisez minContextSlot si vous devez vous assurer que la hauteur de bloc est interrogée à partir d’un état au moins aussi récent qu’un slot spécifique que vous suivez.
  • Pas un Numéro de Slot : Rappelez-vous que la hauteur de bloc est différente du numéro de slot. Un slot est une période de temps, et chaque slot ne produit pas un bloc (ce sont des slots sautés). La hauteur de bloc est le compte des blocs effectivement produits.
  • Vérification Basique de la Santé de la Chaîne : Bien que simple, getBlockHeight peut faire partie d’une vérification basique de la santé de la chaîne ou de synchronisation pour votre application ou système de surveillance.

Réponse

Le champ result de la réponse JSON-RPC sera un seul nombre :
  • blockHeight (nombre) : La hauteur de bloc actuelle (u64) du nœud selon le niveau d’engagement spécifié.
Exemple de Réponse JSON :
Cette valeur représente le nombre de blocs sur la chaîne la plus longue, du bloc de genèse (slot 0) jusqu’à la tête actuelle de la chaîne, telle que vue par le nœud interrogé.

Exemple : Récupération de la Hauteur de Bloc Actuelle

Récupérons la hauteur de bloc actuelle depuis le Helius Devnet RPC. Remarque : Remplacez YOUR_API_KEY par votre clé API Helius réelle dans les exemples ci-dessous.