La méthode RPC getBlockTime fournit le temps de production estimé d’un bloc spécifié, identifié par son numéro de slot. Le temps est renvoyé sous forme de timestamp Unix (secondes depuis l’époque Unix).
Cette méthode est utile lorsque vous devez corréler la production de blocs avec le temps réel.
Évitez le Batching pour de meilleures performancesLe batching des méthodes archivées augmente considérablement la latence. Les lots de plus de 10 requêtes ne sont pas autorisés.
Cas d’utilisation courants
- Horodatage des événements : Déterminez quand un bloc particulier a été produit pour horodater des événements on-chain.
- Analyse des intervalles de production de blocs : Calculez la différence de temps entre les blocs (bien que pour une analyse plus détaillée, d’autres méthodes puissent être combinées).
- Corrélation des données off-chain : Alignez les événements ou données off-chain avec l’activité on-chain en faisant correspondre les temps de production des blocs.
Paramètres de requête
La méthode getBlockTime prend un seul paramètre :
slot (u64, requis) : Le numéro de slot du bloc pour lequel récupérer le temps de production estimé.
Structure de réponse
Le champ result de la réponse JSON-RPC sera soit :
timestamp (i64) : Le temps de production estimé en tant que timestamp Unix (secondes depuis l’époque Unix).
null : Si le timestamp n’est pas disponible pour le bloc spécifié (par exemple, le bloc est très ancien et les données ont été élaguées, ou le bloc a été ignoré et n’a pas de timestamp associé).
Exemples
1. Obtenez le temps estimé d’un bloc spécifique
Cet exemple récupère le temps de production estimé pour un slot spécifique. N’oubliez pas de remplacer SLOT_NUMBER_TO_QUERY par un slot réel, récent et confirmé sur le réseau que vous visez (par exemple, Mainnet Beta ou Devnet).
Conseils pour les développeurs
- Disponibilité des timestamps : Les timestamps peuvent ne pas être disponibles pour tous les blocs, en particulier ceux très anciens ou les slots qui ont été ignorés. Dans de tels cas, la méthode renvoie
null.
- Estimation : Le temps est une estimation. Il est dérivé de la moyenne pondérée par le staking des timestamps de Vote des validateurs. Bien qu’il soit généralement précis, ce n’est pas un timestamp garanti, sécurisé cryptographiquement pour chaque bloc de la même manière qu’un hash de bloc.
- Dépendance au nœud : La disponibilité et la précision peuvent varier légèrement selon le nœud RPC interrogé, en particulier pour les blocs très récents (pas encore finalisés).
Ce guide explique comment utiliser getBlockTime pour récupérer le timestamp de production estimé pour un bloc donné sur le réseau Solana.