Skip to main content
La méthode RPC getSlot renvoie le slot actuel que le nœud RPC considère avoir atteint un niveau d’engagement spécifique. C’est une méthode fondamentale pour comprendre l’état actuel de la blockchain tel que perçu par le nœud.

Cas d’utilisation courants

  • Obtention de l’avancement actuel du réseau : Déterminez le slot le plus récent traité ou confirmé par le nœud.
  • Vérification de la synchronisation des nœuds : Comparer le slot de différents nœuds peut donner une indication de leur état de synchronisation.
  • Horodatage des opérations : Utiliser le slot actuel comme point de référence pour les opérations ou pour comprendre l’âge de certaines données.
  • Entrée pour d’autres appels RPC : Certaines méthodes RPC peuvent utiliser un numéro de slot comme point de référence.

Paramètres de requête

Cette méthode accepte un objet de configuration optionnel en tant que premier paramètre :
  1. options (object, optionnel) : Un objet de configuration optionnel avec les champs suivants :
    • commitment (string, optionnel) : Spécifie le niveau d’engagement pour la requête. Les valeurs prises en charge sont finalized, confirmed, ou processed. Si omis, l’engagement par défaut du nœud RPC est utilisé (généralement finalized).
      • processed : Le nœud interrogera son slot le plus récent. Notez que ce slot peut ne pas être confirmé par le cluster et pourrait potentiellement être ignoré.
      • confirmed : Le nœud interrogera le slot le plus récent qui a été voté par une supermajorité du cluster.
      • finalized : Le nœud interrogera le slot le plus récent confirmé par la supermajorité du cluster comme ayant atteint le verrouillage maximal (ne peut pas être annulé).
    • minContextSlot (number, optionnel) : Le slot minimum auquel la requête peut être évaluée. Cela définit le slot minimum pour le contexte du nœud. Si l’état du nœud est antérieur à ce slot, il peut retourner une erreur ou un numéro de slot qui reflète son état actuel (plus ancien) par rapport à ce minimum.

Structure de la réponse

Le champ result de la réponse JSON-RPC est un seul u64 (entier non signé de 64 bits) représentant le numéro de slot actuel selon le niveau d’engagement spécifié. Exemple de réponse :

Exemples

1. Obtenir le slot actuel (Engagement par défaut)

Cet exemple récupère le slot actuel en utilisant le niveau d’engagement par défaut du nœud (généralement finalized).

2. Obtenir le slot actuel avec un engagement spécifique

Cet exemple récupère le slot actuel qui a atteint un engagement confirmed.

Conseils pour les développeurs

  • L’engagement est important : Le numéro de slot retourné dépend fortement du niveau commitment spécifié. Référez-vous aux niveaux d’engagement Solana pour des informations détaillées. processed sera le slot le plus élevé (le plus récent) que le nœud connaît, tandis que finalized sera un slot plus ancien confirmé par l’ensemble du réseau. Choisissez le niveau d’engagement approprié en fonction de vos besoins en matière de finalité des données.
  • Variabilité des nœuds : Différents nœuds RPC peuvent renvoyer des numéros de slot légèrement différents pour le même niveau d’engagement en raison des délais de propagation du réseau ou de leur propre état de traitement. Cela est particulièrement vrai pour les niveaux processed et confirmed.
  • minContextSlot : Ce paramètre garantit que le nœud traitant votre requête a atteint au moins minContextSlot. Si le nœud est derrière ce slot, le comportement peut varier (par exemple, une erreur ou le slot le plus élevé actuel du nœud qui est inférieur à minContextSlot). Il est généralement utilisé dans des scénarios avancés où vous devez garantir qu’une requête est effectuée par rapport à un état suffisamment récent.
getSlot est une méthode simple mais essentielle pour interagir avec la blockchain Solana et comprendre sa progression actuelle.