Zum Hauptinhalt springen
Mit der RPC-Methode 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.
Verwende für erweiterte Filterung, Sortierung und den Verlauf von Token-Konten stattdessen getTransactionsForAddress. Beachte, dass getSignaturesForAddress keine Transaktionen einschließt, an denen zugehörige Token-Konten beteiligt sind.

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

  1. address (string): (Erforderlich) Der Base58-codierte öffentliche Schlüssel des Kontos, dessen Transaktionssignaturen abgerufen werden sollen.
  2. 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 sind finalized und confirmed. Das commitment processed wird nicht unterstützt. Wenn du diesen Wert weglässt, wird das Standard-commitment des RPC node verwendet, normalerweise finalized.
    • 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.
Bündelung wird nicht unterstütztDiese Archivmethode unterstützt keine Bündelung. Sende nur einzelne requests.

Response-Struktur

Das Feld result 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, oder null, 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, confirmed oder finalized. 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 Parameter before 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 before mit der letzten Signatur aus der vorherigen Gruppe und einen limit-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 Parameter limit kann 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 getTransactionsForAddress mit dem Filter tokenAccounts.
Mit 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