getBlockProduction fournit des informations sur la production de blocs dans l’époque actuelle ou une plage de slots spécifiée. Elle peut être utilisée pour récupérer des données pour tous les validateurs ou pour une identité de validateur spécifique. Cela est précieux pour surveiller la performance des validateurs et comprendre les schémas de production de blocs sur le réseau.
Cas d’utilisation courants
- Surveillance de la performance des validateurs : Suivre le nombre de blocs produits et de slots de leader pour un validateur spécifique.
- Analyse des performances d’une époque : Obtenir un aperçu de la production de blocs pour tous les validateurs dans l’époque actuelle ou passée.
- Identification des slots manqués : Vérifier si des validateurs manquent leurs slots de leader assignés.
- Vérifications de la santé du réseau : Collecter des données sur l’efficacité globale de la production de blocs.
Paramètres de requête
La méthodegetBlockProduction accepte un objet de configuration optionnel avec les paramètres suivants :
commitment(string, optionnel) : Spécifie le niveau d’engagement à utiliser pour la requête. Si omis, l’engagement par défaut du nœud est utilisé.range(objet, optionnel) : Définit une plage de slots à interroger.firstSlot(u64) : Le premier slot pour récupérer des informations de production de blocs (inclus).lastSlot(u64, optionnel) : Le dernier slot pour récupérer des informations de production de blocs (inclus). Si omis, la production des blobs pour l’époque actuelle jusqu’au slot actuel sera retournée.
identity(string, optionnel) : Une clé publique encodée en base58 d’une identité de validateur. Si elle est fournie, la réponse inclura uniquement des informations de production de blocs pour ce validateur spécifique. Si omise, des informations pour tous les validateurs dans la plage spécifiée (ou époque actuelle) sont retournées.
identity ou range.firstSlot doit être fourni. Si identity n’est pas fourni, le paramètre range est requis.
Structure de la réponse
Le champresult de la réponse JSON-RPC sera un objet contenant :
context(objet) :slot(u64) : Le slot auquel l’information a été récupérée.
value(objet) :byIdentity(objet) : Un objet où les clés sont des chaînes d’identité du validateur (clés publiques encodées en base58), et les valeurs sont des objets contenant :leaderSlots(u64) : Le nombre de slots de leader assignés à ce validateur dans la plage/époque interrogée.blocksProduced(u64) : Le nombre de blocs produits par ce validateur dans la plage/époque interrogée.
range(objet) :firstSlot(u64) : Le premier slot de la plage interrogée.lastSlot(u64) : Le dernier slot de la plage interrogée.
Conseils pour les développeurs
- Comprendre les limites d’époque : Lors de l’interrogation par
identitysansrange, les données retournées sont pour l’époque actuelle jusqu’au dernier slot traité par le nœud. Si vous avez besoin de données pour une époque complète passée pour un validateur spécifique, vous devrez déterminer lesfirstSlotetlastSlotpour cette époque. - Disponibilité des données du nœud : La plage des données historiques de production de blocs peut varier entre les nœuds RPC. Les plages de slots très anciennes peuvent ne pas être disponibles sur tous les nœuds.
- Surveillance des performances :
getBlockProductionest essentiel pour construire des tableaux de bord ou des alertes liées à la disponibilité des validateurs et aux taux de succès de production de blocs. - Combinaison avec
getLeaderSchedule: Pour une analyse plus approfondie, vous pouvez corréler les donnéesgetBlockProductionavec la sortie degetLeaderSchedulepour voir quels slots de leader spécifiques ont été réalisés ou manqués. - Identité vs. Tous les validateurs : Interroger sans un
identitypeut retourner une grande quantité de données, surtout si aucunrangeou une largerangen’est spécifié. Soyez conscient des tailles de réponse et des exigences de traitement.
Exemples
1. Obtenir la production de blocs pour l’époque actuelle (Tous les validateurs)
Cet exemple récupère les données de production de blocs pour tous les validateurs dans l’époque actuelle.2. Obtenir la production de blocs pour un validateur spécifique dans l’époque actuelle
Cet exemple récupère la production de blocs pour une identité de validateur spécifique dans l’époque actuelle.3. Obtenir la production de blocs pour une plage de slots et un validateur spécifiques
Cet exemple récupère les données de production de blocs pour un validateur spécifique dans une plage de slots définie.getBlockProduction pour analyser la production de blocs sur Solana.
Méthodes connexes
getLeaderSchedule
Obtenez le calendrier complet des leaders pour corréler avec les données de production
getVoteAccounts
Obtenez des informations sur tous les validateurs votants