Passer au contenu principal
POST
getHistoricalAccountInfo
getHistoricalAccountInfo est en version bêta. Les paramètres, la tarification, les formats de réponse et la couverture des données peuvent changer.

Présentation

getHistoricalAccountInfo renvoie un compte Solana tel qu’il était à un slot antérieur ou immédiatement après une transaction spécifique dans ce slot. Il s’agit d’une méthode RPC exclusive à Helius. La méthode standard getAccountInfo renvoie uniquement l’état actuel. La réponse contient les mêmes champs de compte que getAccountInfo, ainsi que lastUpdatedAt : le slot et la transaction correspondant à la dernière écriture de l’état reçu. L’historique est disponible à partir du slot 444,959,999 (7 septembre 2026), qui correspond à l’état au début de l’époque 1030. Les requêtes portant sur des slots antérieurs renvoient l’erreur -32018. getHistoricalAccountInfo est disponible sur le mainnet pour les forfaits Business et supérieurs, et coûte 0 crédit par appel pendant la période bêta. La tarification est susceptible de changer.

Choisir une position dans l’historique

Le deuxième paramètre est un objet de requête qui sélectionne le point de l’historique à lire : transactionIndex nécessite slot. Pour lire un compte juste avant la transaction à l’index N, interrogez transactionIndex: N - 1. Pour la première transaction d’un slot, interrogez le slot précédent sans transactionIndex. Les écritures qui ne proviennent pas de transactions, telles que les récompenses d’époque, sont appliquées à la fin du slot. Une requête avec transactionIndex ne les inclut jamais.

Exemple de requête

Lire la réponse

  • value est le compte tel qu’il était à la position demandée, ou null si le compte n’existait pas à ce moment-là : il n’avait pas encore été créé ou avait été fermé. Une réponse null ne contient aucun lastUpdatedAt.
  • lastUpdatedAt.slot et lastUpdatedAt.transactionIndex identifient l’écriture qui a produit cet état. L’écriture se trouve à la position demandée ou avant celle-ci.
  • lastUpdatedAt.transactionIndex vaut null lorsque l’écriture a eu lieu en dehors d’une transaction, par exemple pour les récompenses d’époque.
  • Un lastUpdatedAt.slot de 444,959,999 avec un transactionIndex égal à null signifie que le compte n’a pas changé depuis le début de la couverture historique. Cela ne signifie pas que le compte a été écrit dans ce slot.
  • context.slot est le dernier slot que Helius avait indexé au moment de traiter la requête, et non le slot interrogé.
  • Les comptes de jetons jsonParsed utilisent le nombre de décimales du mint à la position demandée. Si le mint ne peut pas être lu à cette position, le compte utilise base64 comme solution de repli.
Pour répertorier tous les états antérieurs d’un compte, utilisez lastUpdatedAt comme curseur. Consultez Parcourir l’historique d’un compte à rebours.

Erreurs

Méthodes associées

Historical Accounts Guide

Fonctionnement des positions, de la couverture et de lastUpdatedAt pour les méthodes de comptes historiques

getHistoricalTokenAccountsByOwner

Répertoriez les comptes de jetons d’un portefeuille à un slot antérieur

getTransactionsForAddress

Trouvez le slot et le transactionIndex des transactions que vous souhaitez inspecter

getAccountInfo

Lisez l’état actuel d’un compte

Paramètres de la requête

string
requis
Adresse du compte à lire, encodée en base 58.
number
Slot auquel lire l’état. Renvoie le compte tel qu’il était à la fin de ce slot. Le premier slot pris en charge est 444959999, soit l’état au début de l’époque 1030. Si ce paramètre est omis, lit le dernier slot indexé, dans la limite de l’engagement demandé.
number
Position d’une transaction dans le slot. Renvoie l’état du compte immédiatement après l’exécution de cette transaction, plutôt qu’à la fin du slot. Nécessite slot.
string
défaut:"base64"
Format d’encodage des données du compte. base58 et binary ne sont pas pris en charge.
  • base64
  • base64+zstd
  • jsonParsed
object
Renvoie uniquement une tranche des données de chaque compte. S’applique aux encodages base64 et base64+zstd.
number
requis
Décalage en octets à partir duquel commencer la lecture.
number
requis
Nombre d’octets à renvoyer.
string
défaut:"finalized"
Niveau d’engagement. processed n’est pas pris en charge.
  • finalized
  • confirmed
number
Slot minimal auquel la requête peut être évaluée.

Autorisations

api-key
string
query
requis

Votre clé API Helius. Vous pouvez en obtenir une gratuitement dans le tableau de bord.

Corps

application/json
jsonrpc
enum<string>
défaut:2.0
requis

Version du protocole JSON-RPC.

Options disponibles:
2.0
Exemple:

"2.0"

id
string
défaut:1
requis

Identifiant unique de la requête.

Exemple:

"1"

method
enum<string>
défaut:getHistoricalAccountInfo
requis

Nom de la méthode RPC à appeler.

Options disponibles:
getHistoricalAccountInfo
Exemple:

"getHistoricalAccountInfo"

params
(string | Requête · object | Configuration · object)[]
requis

Tableau contenant l'adresse du compte, un objet de requête facultatif qui sélectionne la position dans l'historique et un objet de configuration facultatif.

Required array length: 1 - 3 elements

Adresse encodée en base 58 du compte à lire.

Exemple:

"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"

Réponse

État historique du compte récupéré avec succès.

jsonrpc
enum<string>

Version du protocole JSON-RPC.

Options disponibles:
2.0
Exemple:

"2.0"

id
string

Identifiant correspondant à la requête.

Exemple:

"1"

result
object