Prasyarat: Kunci API Helius (paket Business atau Professional untuk Mainnet LaserStream) dan Node.js 18+. Pemahaman tentang Langganan Akun dan Pemantauan Transaksi akan membantu, tetapi tidak diwajibkan.
Penyiapan
Buat proyek baru, instal SDK +bs58 (digunakan untuk mendekode tanda tangan transaksi), lalu tetapkan kunci API Anda:
Skrip
Simpan sebagaiindex.ts, lalu jalankan npx ts-node index.ts:
Fungsi skrip
Satu langganan, dua blok filter
Satu pemanggilansubscribe(...) memuat dua grup filter bernama:
- Filter
accountsmenerima setiap akun yang dimiliki oleh program Pump.fun (bonding curve, status mint, dan sebagainya) setiap kali datanya berubah. - Filter
transactionsmenerima setiap transaksi yang berinteraksi dengan program Pump.fun. Flagvote: false, failed: falsemembuang vote dan transaksi yang gagal sebelum mencapai handler Anda.
Membaca field mentah
Beberapa nilai dalam payload memerlukan sedikit konversi agar mudah digunakan:tx.signatureadalahBuffer. Proses denganbs58.encode(...)untuk mendapatkan tanda tangan base58 yang akan Anda lihat di explorer atau dalam responsgetTransaction.tx.meta.feeadalah u64 yang disimpan sebagai string agar nilai di atasNumber.MAX_SAFE_INTEGERtidak kehilangan presisi di JavaScript. Bungkus denganNumber(...)sebelum melakukan operasi aritmetika. Konvensi string-untuk-u64 yang sama juga berlaku untuk beberapa field tingkat blok — lihat Pemantauan Slot & Blok untuk struktur data lengkapnya.
Statistik bergulir
setInterval mencetak snapshot setiap 60 detik: total transaksi, transaksi berhasil dibandingkan dengan transaksi gagal, throughput, pembayar biaya unik, dan total biaya dalam SOL. Tekan Ctrl+C untuk mendapatkan satu snapshot terakhir sebelum skrip berhenti.
Memperluas skrip
Beberapa cara untuk mengembangkan skrip ini lebih lanjut:- Dekode diskriminator instruksi untuk memberi label perdagangan sebagai
buy/sell/create— lihat Mendekode Data Transaksi untuk pola parsing. - Simpan secara persisten statistik bergulir ke database (Postgres, Redis, ClickHouse), bukan di
Set/ penghitung dalam memori. - Kirim peringatan saat ambang batas tercapai — pembayar biaya besar, lonjakan volume mendadak, atau akun bonding curve baru.
- Putar ulang aktivitas yang terlewat saat memulai dengan menetapkan
fromSlotpadaSubscribeRequest(hingga 48 jam ke belakang — lihat Pemutaran Ulang Historis). - Gabungkan dengan Pemantauan Slot & Blok untuk mendapatkan konteks tingkat blok.
- Ikuti satu token alih-alih seluruh program: masukkan mint ke
accountIncludedan tetapkanmatchMints: truepada filter transaksi untuk menerima setiap transfer, swap, mint, dan burn bagi token tersebut (lihat Pemfilteran Mint Token).
Langkah Berikutnya
Transaction Monitoring
Pola umum pemfilteran transaksi yang digunakan skrip ini.
Decoding Transaction Data
Uraikan payload transaksi biner menjadi transaksi Solana yang mudah dibaca.
Account Subscriptions
Pantau perubahan status akun tertentu dengan filter.
Historical Replay
Putar ulang hingga 24 jam aktivitas Pump.fun sebelumnya dari slot awal.