Warum migrieren?
Die Enhanced Transactions API ist ein Legacy-Produkt im Wartungsmodus: Sie funktioniert noch, erhält jedoch keine neuen Parser-Typen oder Funktionsarbeiten mehr. Ihr Nachfolger ist Parsed Events, das Anweisungen durch den IDL-Katalog decodiert, der auch Parsed Streams antreibt. Der Unterschied liegt darin, wie Transaktionen decodiert werden. Enhanced Transactions klassifiziert eine Transaktion in eine feste Liste von Ereignistypen (TRANSFER, SWAP, NFT_SALE, …) und gibt eine vorgefertigte Zusammenfassung für die Typen zurück, die es kennt. Parsed Events decodiert jede Anweisung gegen die eigene IDL des Programms — mehr als 3.600 Programme — in benannte Argumente und benannte Konten und erstellt darauf basierend die Zusammenfassung:
Parsed Events befindet sich in der offenen Beta in kostenpflichtigen Plänen. Die API kann sich noch ändern, bevor sie allgemein verfügbar ist; Enhanced Transactions funktioniert währenddessen weiterhin, sodass Sie in Ihrem eigenen Tempo migrieren können.
Endpunktzuordnung
Beide Parsed Events-Methoden sindPOST Anfragen an https://mainnet.helius-rpc.com, authentifiziert mit demselben api-key Abfrageparameter, den Sie bereits verwenden:
Der Verlauf-Endpunkt verschiebt alle Eingaben von Abfragezeichenfolgenparametern in einen JSON-Body. Anforderungsinhalte lehnen unbekannte Felder ab, sodass Tippfehler laut scheitern, anstatt stillschweigend ignoriert zu werden.
Vorher und Nachher
Die gleiche Aufgabe — Analysierten Verlauf für eine Wallet abrufen — in beiden APIs:Parameterzuordnung
Transaktionen parsen
POST /v0/transactions → POST /v1/parsed-events/transactions
Neue Optionen ohne alte Entsprechung:
includeRawTransaction gibt die ursprüngliche Solana-Transaktionsnutzlast zusammen mit dem analysierten Ergebnis zurück.
Transaktionsverlauf
GET /v0/addresses/{address}/transactions → POST /v1/parsed-events/transaction-history. Jeder Abfrageparameter wird zu einem JSON-Body-Feld:
Drei Standardwerte ändern sich im Laufe der Zeit:
limitstandardmäßig auf 100 statt 10.commitmentstandardmäßig aufconfirmedstattfinalized;processedwird nicht unterstützt.sortOrderbehält die gleichenasc/descWerte mitdescals Standard bei.
paginationToken aus der vorherigen Antwort über beforeSignature — siehe Paginierung vereinfachen unten.
Der alte type Parameter hat kein Pendant bei Parsed Events — es gibt keinen serverseitigen Transaktionstypenfilter. Filtern Sie clientseitig nach parsed.summary.type (swap, transfer, add_liquidity, …) oder nach den decodierten Anweisungen selbst, was präziser ist als die alten festen Typen. Für typenspezifische Echtzeit-Feeds filtert Parsed Streams serverseitig auf Anweisungsebene.
Zuordnung der Antwortfelder
Enhanced Transactions gibt ein flaches Array angereicherter Transaktionen zurück. Parsed Events verpackt jedes Ergebnis in einen Umschlag —{ signature, parserStatus, parsed } — und Verlauf-Antworten verpacken das Array in ein Seitenobjekt mit paginationToken. Die analysierten Felder werden wie folgt zugeordnet:
Und die größte Änderung ist ein neues Feld ohne alte Entsprechung:
parsed.instructions[] enthält jede obere und innere Anweisung in Ausführungsreihenfolge, mit decoded.args und decoded.accounts, die aus der IDL des Programms benannt werden. Wo Enhanced Transactions Ihnen eine Ereigniszusammenfassung pro Transaktion gab, gibt Ihnen Parsed Events die Zusammenfassung und die vollständige decodierte Anweisungsliste. Siehe Parsed Response für jedes Feld.
Migrationsschritte
1
Tauschen Sie die Endpunkte aus
Zeigen Sie Parse Transactions-Anfragen an
POST /v1/parsed-events/transactions und Verlauf-Abfragen an POST /v1/parsed-events/transaction-history. Derselbe Host, derselbe api-key Abfrageparameter. Verlauf-Anfragen ändern sich von GET mit Abfrageparametern zu POST mit einem JSON-Body — verschieben Sie jeden Parameter gemäß der obenstehenden Zuordnung.2
Aktualisieren Sie die Antwortverarbeitung
Entpacken Sie den neuen Umschlag: überprüfen Sie
parserStatus === "OK", lesen Sie dann Felder von parsed anstelle der obersten Ebene. Benennen Sie timestamp um in blockTime, lesen Sie description und type von summary (achten Sie auf null), und teilen Sie rawTokenAmount durch 10^decimals, wo der alte Code tokenAmount las.3
Ersetzen Sie die Typenfilterung
Wo der alte Code
type=... übergab, filtern Sie die zurückgegebenen Elemente clientseitig nach parsed.summary.type oder nach parsed.instructions[] — beispielsweise „Anweisungen, bei denen programId Jupiter ist und instructionName route ist“ ersetzt type=SWAP durch etwas, das Sie tatsächlich überprüfen können. Wenn der Typenfilter existierte, um einen Echtzeit-Feed zu betreiben, verschieben Sie diesen Verbraucher zu Parsed Streams, das serverseitig auf Anweisungsebene filtert.4
Paginierung vereinfachen
Ersetzen Sie die Die Schleife endet, wenn
before-signature Cursor-Schleife mit paginationToken:paginationToken fehlt. Die alten Laufzeit-Suchfehler (“Fehler beim Finden von Ereignissen im Suchzeitraum”) und ihre Handhabung der Fortsetzungssignatur verschwinden vollständig — löschen Sie diesen Code.5
Überprüfen Sie gegen die alte Ausgabe
Für eine Musteradresse holen Sie dieselbe Seite aus beiden APIs und vergleichen die Signatursätze, Gebühren und Transferbeträge. Dann bereitstellen und den alten Codepfad entfernen. Enhanced Transactions funktioniert weiterhin während der Migration — es gibt keinen erzwungenen Abbruch.
Unterschiedliches Verhalten zur Überprüfung
- Commitment-Standards. Verlauf standardmäßig auf
confirmed, wo der alte Endpunkt standardmäßig auffinalizedwar. Geben Siecommitment: "finalized"explizit an, wenn Ihr Pipeline von Endgültigkeit abhängt.processedwird nicht unterstützt. - Fehler pro Element. Eine Signatur, die nicht analysiert werden kann, schlägt nicht mehr fehl — sie wird als ein Element mit
parserStatus: "ERROR"und einemparserErrorzurückgegeben. Behandeln Sie es pro Element anstelle der gesamten Anfrage. - Zusammenfassungsabdeckung.
summaryistnullfür Transaktionen mit keiner anerkannten transaktionsebenen Aktion. Die alte API gab in diesem Falltype: "UNKNOWN"zurück; die neue API gibt Ihnen immer noch jede decodierte Anweisung zurück, mit der Sie arbeiten können. - Zugriff. Parsed Events befindet sich in der offenen Beta in kostenpflichtigen Plänen, und die API kann sich noch ändern, bevor sie allgemein verfügbar ist.
Lassen Sie einen KI-Agenten die Migration durchführen
Wenn Sie Claude Code, Cursor oder einen anderen Codierungsagenten verwenden, fügen Sie die folgende Eingabeaufforderung in die Sitzung des Agenten Ihres Repositorys ein. Er findet Enhanced Transactions Aufrufstellen und schreibt sie um.Nächste Schritte
Parsed Events Schnellstart
Parsen Sie Ihre erste Transaktion, holen Sie den Adressverlauf ab und blättern Sie durch die Ergebnisse.
Parsed Response
Feldreferenz für analysierte Transaktionen, Transfers und Anweisungen.
Parsed Streams
Das gleiche Decoding in Echtzeit über WebSocket, serverseitig gefiltert.
getTransactionsForAddress
Rohdatentransaktionsverlauf mit Unterstützung von Token-Konten und serverseitigen Filtern.