getSignaturesForAddress RPC-Methode ermöglicht es Ihnen, eine Liste bestätigter Transaktionssignaturen abzurufen, die ein spezielles Konto betreffen. Dies ist nützlich, um den Transaktionsverlauf eines Kontos abzurufen. Signaturen werden in umgekehrt chronologischer Reihenfolge (die neuesten zuerst) zurückgegeben.
Häufige Anwendungsfälle
- Transaktionsverlauf des Kontos: Anzeige der vergangenen Transaktionen für die Brieftasche eines Benutzers. Für eine fortgeschrittene Analyse der Transaktionsgeschichte sollten Sie Helius’s Enhanced Transactions API in Betracht ziehen.
- Aktivitätsprüfung: Überprüfung aller Transaktionen, die mit einem bestimmten Smart Contract oder Konto verbunden sind.
- Spezifische Transaktionssuche: Finden einer bestimmten Transaktion durch Durchsuchen des Kontoverlaufs, wenn nur die beteiligte Adresse bekannt ist.
- Datenindexierung: Aufbau eines lokalisierten Index von Transaktionen für schnellere Abfragen und Analysen.
Anforderungsparameter
address(string): (Erforderlich) Der base-58 kodierte öffentliche Schlüssel des Kontos, für das 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, und das Maximum ist 1000.before(string, optional): Eine base-58 kodierte Transaktionssignatur. Wenn angegeben, beginnt die Anfrage mit der Suche nach Transaktionen vor dieser Signatur.until(string, optional): Eine base-58 kodierte Transaktionssignatur. Wenn angegeben, sucht die Anfrage nach Transaktionen, bis diese Signatur erreicht ist (exklusiv).commitment(string, optional): Gibt die Verbindlichkeitsebene an, die für die Anfrage verwendet werden soll. Unterstützte Werte sindfinalizedoderconfirmed. DerprocessedZustand wird nicht unterstützt. Wenn nicht angegeben, wird die Standardverbindlichkeit des RPC-Knotens verwendet (normalerweisefinalized).minContextSlot(number, optional): Der minimale Slot, auf dem die Anfrage ausgewertet werden kann. Dies ist kein Filter für historische Transaktionen, sondern legt den minimalen Slot für den Kontext des Knotens fest.
Antwortstruktur
Dasresult Feld der JSON-RPC-Antwort ist ein Array von Signaturinformationsobjekten. Jedes Objekt hat die folgende Struktur:
signature(string): Die base-58 kodierte 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 Memo, das mit der Transaktion verbunden ist, falls vorhanden.blockTime(i64|null): Die geschätzte Produktionszeit des Blocks, der die Transaktion enthält, als Unix-Zeitstempel (Sekunden seit der Epoche).null, wenn nicht verfügbar.confirmationStatus(string|null): Der Bestätigungsstatus der Transaktion (z. B.processed,confirmed,finalized).null, wenn nicht verfügbar (z. B. bei älteren Helius-Antworten).
Beispiele
1. Abrufen der neuesten Signaturen für eine Adresse
Dieses Beispiel ruft die neuesten (bis zu 1000) Transaktionssignaturen für eine bestimmte Adresse ab.2. Abrufen von Signaturen mit Limitierung
Dieses Beispiel ruft eine festgelegte Anzahl von jüngsten Transaktionssignaturen für eine Adresse ab.3. Paginierung durch Transaktionshistorie
Dieses Beispiel zeigt, wie man den Transaktionsverlauf in Chargen abruft, indem derbefore Parameter verwendet wird.
Entwicklertipps
- Paginierung: Um einen vollständigen Transaktionsverlauf für ein aktives Konto zu erhalten, müssen Sie wahrscheinlich mehrere Anfragen stellen, wobei Sie den
beforeParameter mit der letzten Signatur der vorherigen Charge und einemlimitverwenden. - Ratenbegrenzung: Beachten Sie die Ratenbegrenzungen des RPC-Knotens, wenn Sie umfangreiche Transaktionsverläufe abrufen.
- Reihenfolge: Signaturen werden immer von neu nach alt zurückgegeben.
limitParameter: DerlimitParameter kann zwischen 1 und 1000 liegen. Wenn nicht angegeben, beträgt der Standardwert 1000.untilParameter: Dieser Parameter kann verwendet werden, um die Abrufung von Signaturen zu stoppen, wenn eine bekannte ältere Signatur erreicht wurde, was nützlich sein kann, wenn man nur Transaktionen bis zu einem bestimmten Punkt benötigt.minContextSlot: Dieser Parameter filtert keine historischen Transaktionen. Er gibt den minimalen Slot an, den der RPC-Knoten für seinen Kontext bei der Auswertung der Anfrage verwenden soll. Wenn der Zustand des Knotens älter ist als dieser Slot, kann er einen Fehler zurückgeben.- Transaktionsdetails: Diese Methode gibt nur Signaturen und grundlegende Informationen zurück. Um vollständige Transaktionsdetails zu erhalten, würden Sie die
getTransactionMethode mit jeder Signatur verwenden. - Einschränkung für Token-Konten: Diese Methode gibt nur Transaktionen zurück, die direkt auf die angegebene Adresse verweisen. Sie enthält keine Transaktionen, die Token-Konten betreffen, die von der Adresse verwaltet werden. Für einen vollständigen Token-Verlauf, einschließlich zugehöriger Token-Konten, verwenden Sie
getTransactionsForAddressmit demtokenAccountsFilter.
getSignaturesForAddress mit seinen Paginierungsoptionen können Sie effektiv Transaktionsverläufe für jede Solana-Adresse abrufen und verwalten.
Verwandte Methoden
getTransactionsForAddress
Erweiterte Filterung, Sortierung und Token-Kontoverlauf
getTransaction
Vollständige Transaktionsdetails aus einer Signatur abrufen