getSignaturesForAddress kannst du eine Liste bestätigter Transaktionssignaturen abrufen, die eine bestimmte Kontoadresse betreffen. Damit kannst du den Transaktionsverlauf eines Kontos abrufen. Die Signaturen werden in umgekehrter chronologischer Reihenfolge zurückgegeben, also die neuesten zuerst.
Häufige Anwendungsfälle
- Transaktionsverlauf eines Kontos: Zeige die vergangenen Transaktionen für die Wallet eines Benutzers an. Für eine erweiterte Analyse des Transaktionsverlaufs kannst du die Enhanced Transactions API von Helius verwenden.
- Aktivitätsprüfung: Prüfe alle Transaktionen, die mit einem bestimmten Smart Contract oder Konto verknüpft sind.
- Suche nach einer bestimmten Transaktion: Finde eine bestimmte Transaktion, indem du den Verlauf eines Kontos durchläufst, wenn nur die beteiligte Adresse bekannt ist.
- Datenindexierung: Erstelle einen lokalen Transaktionsindex für schnellere Abfragen und Analysen.
Request-Parameter
address(string): (Erforderlich) Der Base58-codierte öffentliche Schlüssel des Kontos, dessen Transaktionssignaturen abgerufen werden sollen.options(object, optional): Ein optionales Konfigurationsobjekt mit den folgenden Feldern:limit(number, optional): Die maximale Anzahl der zurückzugebenden Signaturen. Der Standardwert ist 1000. Der maximal zulässige Wert ist ebenfalls 1000.before(string, optional): Eine Base58-codierte Transaktionssignatur. Wenn du sie angibst, beginnt die Abfrage mit der Suche nach Transaktionen vor dieser Signatur.until(string, optional): Eine Base58-codierte Transaktionssignatur. Wenn du sie angibst, sucht die Abfrage nach Transaktionen, bis diese Signatur erreicht ist. Die Signatur selbst wird ausgeschlossen.commitment(string, optional): Gibt das commitment level für die Abfrage an. Unterstützte Werte sindfinalizedundconfirmed. Das commitmentprocessedwird nicht unterstützt. Wenn du diesen Wert weglässt, wird das Standard-commitment des RPC node verwendet, normalerweisefinalized.minContextSlot(number, optional): Der minimale slot, auf dem der request ausgewertet werden kann. Dies ist kein Filter für historische Transaktionen, sondern legt den minimalen slot für den Kontext des node fest.
Response-Struktur
Das Feldresult der JSON-RPC-response ist ein Array mit Objekten, die Informationen zu den Signaturen enthalten. Jedes Objekt hat die folgende Struktur:
signature(string): Die Base58-codierte Transaktionssignatur.slot(u64): Der slot, in dem die Transaktion verarbeitet wurde.err(object|null): Ein Fehlerobjekt, wenn die Transaktion fehlgeschlagen ist, odernull, wenn sie erfolgreich war.memo(string|null): Das mit der Transaktion verknüpfte Memo, falls vorhanden.blockTime(i64|null): Die geschätzte Erstellungszeit des Blocks, der die Transaktion enthält, als Unix-Zeitstempel in Sekunden seit der Epoche.null, falls nicht verfügbar.confirmationStatus(string|null): Der Bestätigungsstatus der Transaktion, z. B.processed,confirmedoderfinalized.null, falls nicht verfügbar, z. B. bei älteren Helius-responses.
Beispiele
1. Neueste Signaturen für eine Adresse abrufen
Dieses Beispiel ruft die neuesten Transaktionssignaturen für eine bestimmte Adresse ab, maximal 1000.2. Signaturen mit einem Limit abrufen
Dieses Beispiel ruft eine festgelegte Anzahl aktueller Transaktionssignaturen für eine Adresse ab.3. Durch den Transaktionsverlauf paginieren
Dieses Beispiel zeigt, wie du den Transaktionsverlauf mit dem Parameterbefore in mehreren Gruppen abrufst.
Tipps für Entwickler
- Paginierung: Um den vollständigen Transaktionsverlauf eines aktiven Kontos abzurufen, musst du wahrscheinlich mehrere requests senden. Verwende dazu den Parameter
beforemit der letzten Signatur aus der vorherigen Gruppe und einenlimit-Wert. - Rate Limits: Beachte die rate limits des RPC node, wenn du umfangreiche Transaktionsverläufe abrufst.
- Reihenfolge: Signaturen werden immer von der neuesten bis zur ältesten zurückgegeben.
- Parameter
limit: Der Parameterlimitkann einen Wert zwischen 1 und 1000 haben. Wenn du ihn nicht angibst, ist der Standardwert 1000. - Parameter
until: Mit diesem Parameter kannst du das Abrufen von Signaturen beenden, sobald eine bekannte ältere Signatur erreicht wird. Das ist nützlich, wenn du nur Transaktionen bis zu einem bestimmten Punkt benötigst. minContextSlot: Dieser Parameter filtert keine historischen Transaktionen. Er gibt den minimalen slot an, den der RPC node für seinen Kontext bei der Auswertung des request verwenden soll. Ist der Zustand des node älter als dieser slot, kann ein Fehler zurückgegeben werden.- Transaktionsdetails: Diese Methode gibt nur Signaturen und grundlegende Informationen zurück. Um vollständige Transaktionsdetails abzurufen, verwendest du für jede Signatur die Methode
getTransaction. - Einschränkung für Token-Konten: Diese Methode gibt nur Transaktionen zurück, die direkt auf die angegebene Adresse verweisen. Sie schließt keine Transaktionen ein, an denen Token-Konten beteiligt sind, die der Adresse gehören. Verwende für einen vollständigen Token-Verlauf einschließlich zugehöriger Token-Konten
getTransactionsForAddressmit dem FiltertokenAccounts.
getSignaturesForAddress und den zugehörigen Paginierungsoptionen kannst du Transaktionsverläufe für jede Solana-Adresse effizient abrufen und verwalten.
Verwandte Methoden
getTransactionsForAddress
Erweiterte Filterung, Sortierung und Verlauf von Token-Konten
getTransaction
Vollständige Transaktionsdetails anhand einer Signatur abrufen