getSignaturesForAddress vous permet de récupérer une liste de signatures de transactions confirmées impliquant une adresse de compte spécifique. Cela est utile pour récupérer l’historique des transactions d’un compte. Les signatures sont renvoyées dans l’ordre chronologique inverse (les plus récentes en premier).
Cas d’utilisation communs
- Historique des transactions du compte : Affichage des transactions passées pour le portefeuille d’un utilisateur. Pour une analyse plus avancée de l’historique des transactions, envisagez d’utiliser l’API Transactions améliorées de Helius.
- Audit d’activité : Révision de toutes les transactions associées à un contrat intelligent ou à un compte particulier.
- Recherche de transaction spécifique : Trouver une transaction spécifique en parcourant l’historique d’un compte si seule l’adresse impliquée est connue.
- Indexation des données : Création d’un index localisé des transactions pour une interrogation et une analyse plus rapides.
Paramètres de la requête
address(string): (Requis) La clé publique encodée en base-58 du compte pour lequel récupérer les signatures de transactions.options(object, optionnel) : Un objet de configuration optionnel avec les champs suivants :limit(number, optionnel) : Le nombre maximum de signatures à retourner. La valeur par défaut est 1000, et le maximum autorisé est 1000.before(string, optionnel) : Une signature de transaction encodée en base-58. Si fourni, la requête commencera à rechercher des transactions avant cette signature.until(string, optionnel) : Une signature de transaction encodée en base-58. Si spécifié, la requête recherchera des transactions jusqu’à atteindre cette signature (exclusif).commitment(string, optionnel) : Spécifie le niveau d’engagement à utiliser pour la requête. Les valeurs prises en charge sontfinalizedouconfirmed. L’engagementprocessedn’est pas pris en charge. Si omis, l’engagement par défaut du nœud RPC est utilisé (généralementfinalized).minContextSlot(number, optionnel) : Le minimum de slots auquel la requête peut être évaluée. Ce n’est pas un filtre sur les transactions historiques mais définit le minimum de slots pour le contexte du nœud.
Structure de la réponse
Le champresult de la réponse JSON-RPC est un tableau d’objets d’informations sur les signatures. Chaque objet a la structure suivante :
signature(string): La signature de transaction encodée en base-58.slot(u64): Le slot dans lequel la transaction a été traitée.err(object|null): Un objet d’erreur si la transaction a échoué, ounullsi elle a réussi.memo(string|null): Le mémo associé à la transaction, le cas échéant.blockTime(i64|null): Le temps de production estimé du bloc contenant la transaction, en tant que timestamp Unix (secondes depuis l’ère).nullsi non disponible.confirmationStatus(string|null): Le statut de confirmation de la transaction (e.g.,processed,confirmed,finalized).nullsi non disponible (e.g., pour les réponses Helius plus anciennes).
Exemples
1. Obtenez les signatures les plus récentes pour une adresse
Cet exemple récupère les signatures de transactions les plus récentes (jusqu’à 1000) pour une adresse donnée.2. Obtenez des signatures avec une limite
Cet exemple récupère un nombre spécifié de signatures de transactions récentes pour une adresse.3. Pagination dans l’historique des transactions
Cet exemple montre comment récupérer l’historique des transactions par lots en utilisant le paramètrebefore.
Conseils pour les développeurs
- Pagination : Pour obtenir un historique de transactions complet pour un compte actif, vous devrez probablement effectuer plusieurs requêtes, en utilisant le paramètre
beforeavec la dernière signature reçue dans le lot précédent et unlimit. - Limites de taux : Faites attention aux limites de taux des nœuds RPC lors de la récupération d’historiques de transactions étendus.
- Ordre : Les signatures sont toujours renvoyées des plus récentes aux plus anciennes.
- Paramètre
limit: Le paramètrelimitpeut être compris entre 1 et 1000. Si non spécifié, il est par défaut à 1000. - Paramètre
until: Ce paramètre peut être utilisé pour arrêter de récupérer des signatures si une signature plus ancienne connue est atteinte, ce qui peut être utile si vous ne souhaitez que des transactions jusqu’à un certain point. minContextSlot: Ce paramètre ne filtre pas les transactions historiques. Il spécifie le minimum de slots que le nœud RPC doit utiliser pour son contexte lors de l’évaluation de la requête. Si l’état du nœud est plus ancien que ce slot, il peut renvoyer une erreur.- Détails de la transaction : Cette méthode ne renvoie que les signatures et les informations de base. Pour obtenir les détails complets des transactions, vous utiliseriez la méthode
getTransactionavec chaque signature. - Limitation des comptes de jetons : Cette méthode ne renvoie que les transactions qui référencent directement l’adresse fournie. Elle n’inclut pas les transactions impliquant des comptes de jetons détenus par l’adresse. Pour un historique complet des jetons, y compris les comptes de jetons associés, utilisez
getTransactionsForAddressavec le filtretokenAccounts.
getSignaturesForAddress avec ses options de pagination, vous pouvez efficacement récupérer et gérer les historiques de transactions pour toute adresse Solana.
Méthodes associées
getTransactionsForAddress
Filtrage avancé, tri et historique des comptes de jetons
getTransaction
Obtenez les détails complets de la transaction à partir d’une signature