Skip to main content
La méthode RPC getLeaderSchedule renvoie l’attribution de la production de blocs aux validateurs pour une époque spécifique. Comprendre le calendrier des leaders peut être utile pour l’analyse du réseau, prévoir quel validateur produira des blocs à certains moments, ou pour les outils qui interagissent avec des leaders spécifiques.

Cas d’Utilisation Communes

  • Surveillance du Réseau : Observer la distribution des créneaux de leader parmi les validateurs lors d’une époque.
  • Routage de Transactions (Avancé) : Certaines applications avancées pourraient essayer de router des transactions vers le leader actuel ou à venir, bien que cela soit généralement géré par le réseau et les nœuds RPC.
  • Analyse des Performances des Validateurs : Corréler le calendrier des leaders avec la production réelle de blocs pour évaluer la disponibilité et les performances du validateur.
  • Compréhension de la Progression de l’Époque : Voir quels validateurs sont responsables de la production de blocs tout au long d’une époque.

Paramètres de Requête

La méthode peut accepter jusqu’à deux paramètres optionnels :
  1. slot (u64, optionnel) : Un numéro de créneau. Si fourni, le calendrier des leaders pour l’époque contenant ce créneau sera récupéré. Si null ou omis, le calendrier des leaders pour l’époque actuelle est récupéré.
  2. config (objet, optionnel) : Un objet de configuration qui peut contenir :
    • commitment (chaîne, optionnelle) : Spécifie le niveau d’engagement. Si non fourni, l’engagement par défaut du nœud est utilisé.
    • identity (chaîne, optionnelle) : Une clé publique encodée en base-58 d’un validateur. Si fourni, le calendrier retourné inclura uniquement les créneaux attribués à ce validateur spécifique.

Structure de Réponse

Le champ result de la réponse JSON-RPC sera :
  • null : Si l’époque correspondant au slot demandé (ou époque actuelle si aucun créneau n’est fourni) n’est pas trouvée ou si son calendrier des leaders n’est pas disponible (par exemple, pour une époque future non calculée).
  • Un objet : Si un calendrier est trouvé. Cet objet est une carte où :
    • Chaque clé est la clé publique encodée en base-58 (identité) d’un validateur.
    • La valeur correspondante est un tableau de chiffres. Chaque chiffre est un indice de créneau relatif au début de l’époque pour lequel ce validateur est le leader.
Par exemple, si une époque commence au créneau 1000 et qu’un validateur a [0, 1, 5] dans son calendrier, cela signifie que ce validateur est le leader pour les créneaux 1000, 1001, et 1005.

Exemples

1. Obtenir le Calendrier des Leaders pour l’Époque Actuelle

Cet exemple récupère le calendrier complet des leaders pour l’époque actuelle.

2. Obtenir le Calendrier des Leaders pour un Validateur Spécifique dans une Époque Spécifique (par Créneau)

Cet exemple récupère le calendrier des leaders pour un identifiant de validateur donné pour l’époque contenant le créneau 200000.

Conseils pour les Développeurs

  • Limites des Époques : Le calendrier des leaders est fixe pour toute une époque. Vous pouvez utiliser getEpochInfo pour trouver les créneaux de début et de fin d’une époque.
  • Époques Futures : Demander le calendrier pour une époque très future peut retourner null si le réseau ne l’a pas encore calculé.
  • Indices de Créneaux Relatifs : Rappelez-vous que les numéros de créneaux dans la réponse sont relatifs au premier créneau de l’époque demandée, et non des numéros de créneaux absolus sur la blockchain.
  • Réponse Important : Pour un calendrier complet d’une époque sans filtre d’identité, la réponse peut être importante, répertoriant tous les validateurs et leurs créneaux assignés.
Ce guide fournit les informations nécessaires pour utiliser getLeaderSchedule afin de demander les affectations de producteurs de blocs pour toute époque donnée sur le réseau Solana.

Méthodes Associées

getEpochInfo

Obtenez des informations sur l’époque en cours, y compris les limites de créneaux

getSlotLeaders

Obtenez les leaders pour une plage spécifique de créneaux