Zum Hauptinhalt springen
Dieser Leitfaden erstellt einen dauerhaft laufenden Listener für jeden neuen Pump.fun-Token. Er filtert nach den beiden Instructions, mit denen Pump.fun einen Token veröffentlicht. Er bleibt auch dann verbunden, wenn wegen Inaktivität ein timeout auftritt oder ein neues deployment erfolgt.
1

Look Up the Program

Pump.fun veröffentlicht token je nach Version über zwei Instruktionen: create und create_v2. Prüfe die genauen Namen und Kontorollen mit describeProgram, bevor du danach filterst. Aktuell ist es nur auf wss://fs-beta.helius-rpc.com/?api-key=<API_KEY> verfügbar:
Request
Prüfe in der response die Liste instructions auf create und create_v2. Prüfe außerdem in der Liste roles den gewünschten Account – normalerweise die neue mint-Adresse sowie entweder die Account-Rolle creator oder das Feld creator in args. Die beiden Instruction-Versionen haben nicht zwingend dieselbe Struktur. Deshalb prüft der folgende Code sowohl ein Argument als auch mehrere Rollennamen, statt eine einheitliche Struktur vorauszusetzen.
2

Build the Filter

Filtere nach dem Programm und beiden Instruction-Namen. Lass includeCpi aktiviert. Die Instructions create/create_v2 von Pump.fun befinden sich normalerweise auf der obersten Ebene, aber diese zusätzliche Absicherung ist günstig. Schließe außerdem fehlgeschlagene Transaktionen aus, da ein fehlgeschlagenes deployment nie einen aktiven mint erzeugt:
3

Connect with a Reconnect-Safe Client

Ein Tracker für veröffentlichte Token läuft dauerhaft. Behandle Verbindungsabbrüche daher als normal und nicht als Ausnahme: Überwache den ersten Handshake mit einem Watchdog, halte die Verbindung bei einem inaktiven Filter aktiv und stelle sie nach dem Schließen automatisch wieder her.
pumpfun-deploys.js
Hier wird der Einfachheit halber eine feste Verzögerung von 3 Sekunden vor dem reconnect verwendet. Nutze für einen produktiven Listener stattdessen exponentielles Backoff – siehe Umgang mit erneuten Verbindungen.
4

Handle Notifications and Log Each Deploy

Leite eingehende Nachrichten anhand von id (request von dir) oder method (vom Server gesendete Benachrichtigungen) weiter. Lies dann mint, Ersteller und Metadaten aus der decodierten Instruction aus:
Da includeFailed den Wert false hat, gehört jede protokollierte Benachrichtigung zu einem Token, dessen deployment tatsächlich erfolgreich war. Prüfe, ob ix.decoded vorhanden ist, bevor du dich auf args und accounts verlässt. Ein nicht erkannter Build des Pump.fun-Programms wird mit decoded: null geliefert und würde sonst als mint: null erscheinen.

Nächste Schritte

Track Jupiter Swaps

Der Ablauf describeProgram → Filter erstellen → abonnieren im Detail.

Handling Reconnects

Exponentielles Backoff und backfill für fehlende slot bei dauerhaft laufenden Listenern.

Fetch Pump.fun Mints

Die historische Variante: Rufe mit Parsed Events die früheren Token-Veröffentlichungen eines Erstellers seitenweise ab.