Apa itu transactionSubscribe?
Metode WebSocket transactionSubscribe (ekstensi Helius untuk API WebSocket Solana standar) memungkinkan peristiwa transaksi secara real-time.
Untuk menggunakannya, berikan TransactionSubscribeFilter dan sertakan TransactionSubscribeOptions secara opsional untuk penyesuaian lebih lanjut.
transactionSubscribe tersedia pada endpoint wss://mainnet.helius-rpc.com dan wss://devnet.helius-rpc.com terpadu yang sama dengan metode langganan Solana standar.
TransactionSubscribeFilter
vote: flag boolean untuk menyertakan/mengecualikan transaksi terkait votingfailed: flag boolean untuk menyertakan/mengecualikan transaksi yang gagalsignature: memfilter pembaruan ke transaksi tertentu berdasarkan tanda tangannyaaccountInclude: daftar akun yang pembaruan transaksinya ingin Anda terima. Hanya salah satu akun yang harus disertakan dalam pembaruan transaksi (misalnya, Akun 1 ATAU 2).accountExclude: daftar akun yang ingin Anda kecualikan dari pembaruan transaksiaccountRequired: transaksi harus menyertakan semua akun yang ditentukan agar disertakan dalam pembaruan (misalnya, Akun 1 DAN 2)tokenAccounts: perluasan associated token account (ATA) yang dapat diaktifkan (balanceChanged,all, ataunone). Lihat Memantau dompet, termasuk transfer token di bawah.
TransactionSubscribeOptions (Opsional)
commitment: tingkat commitment untuk mengambil data (processed,confirmed, ataufinalized)encoding: format encoding data yang dikembalikan (base58,base64, ataujsonParsed)transactionDetails: tingkat detail data yang dikembalikan (full,signatures,accounts, dannone)showRewards: flag boolean yang menunjukkan apakah data reward harus disertakan dalam pembaruanmaxSupportedTransactionVersion: menentukan versi transaksi tertinggi yang pembaruannya ingin Anda terima. Tetapkan nilainya ke1untuk menerima transaksi legacy, v0, dan v1. Lihat Dukungan transaksi v1.
maxSupportedTransactionVersion diperlukan untuk mengembalikan akun dan detail tingkat penuh dari transaksi tertentu (yaitu, transactionDetails: "accounts" | "full").Contoh Langganan Transaksi
Dalam contoh ini, kami berlangganan transaksi yang memuat akun Raydium675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8.
Ketika terjadi transaksi yang memuat akun 675k...1Mp8 dalam accountKeys transaksi tersebut, kami akan menerima notifikasi WSS.
Berdasarkan opsi langganan, notifikasi transaksi akan dikirim pada tingkat commitment processed, menggunakan encoding jsonParsed dan detail transaksi full, serta akan menampilkan reward.
Contoh Notifikasi
Memantau Dompet, Termasuk Transfer Token
Saat Anda memantau dompet denganaccountInclude, hanya transaksi yang kunci publik dompetnya muncul secara langsung dalam kunci akun yang akan cocok. Satu kasus umum dapat terlewat: ketika seseorang mengirim token SPL (misalnya USDC) ke dompet tersebut, transfer menyentuh associated token account (ATA) milik dompet, bukan kunci publik dompet—sehingga langganan accountInclude: [wallet] biasa tidak pernah mendeteksinya.
Tetapkan bidang tokenAccounts untuk memperluas pencocokan agar akun yang dipantau juga cocok dengan transaksi ketika akun tersebut memiliki saldo token:
balanceChanged: cocok ketika dompet memiliki saldo token yang jumlahnya berubah (atau yang akun tokennya ditutup) dalam transaksi. Gunakan opsi ini untuk “beri tahu saya saat dana benar-benar berpindah.” Ini adalah pilihan yang lebih sempit, dengan volume lebih rendah, dan paling umum.all: cocok dengan transaksi apa pun yang merujuk pada saldo token milik dompet, meskipun tidak berubah. Volumenya lebih tinggi.none: tanpa perluasan. Sama seperti menghilangkan bidang tersebut (nilai default).
-32602. Langganan yang tidak menyertakan tokenAccounts berperilaku sama persis seperti sebelumnya. Untuk ringkasan lengkap tentang cara kerja perluasan ATA, lihat Pemfilteran Akun Token (ATA) melalui WebSocket.
Memantau DCA Jupiter Baru
DCA Jupiter, atau Dollar Cost Averaging, adalah cara untuk menjadwalkan perdagangan berulang di Solana. Karena order beli/jual terjadwal ini dicatat secara on-chain, trader dapat menggunakan metodetransactionSubscribe dan getAsset untuk memantau order baru.
Contoh Notifikasi

Memantau Token pump.fun Baru
Contoh Notifikasi

Mengelola Langganan
ID Langganan
KetikatransactionSubscribe berhasil, server mengembalikan ID langganan dalam bidang result. Ini adalah nomor yang sama dengan yang muncul dalam params.subscription pada setiap notifikasi dari langganan tersebut:
Berhenti Berlangganan
Untuk berhenti menerima notifikasi, panggiltransactionUnsubscribe dengan ID langganan. Setiap panggilan transactionSubscribe pada koneksi yang sama membuat langganan terpisah dengan ID-nya sendiri. Jadi, pastikan Anda berhenti berlangganan sebelum berlangganan kembali agar tidak menerima notifikasi duplikat.
transactionUnsubscribe. Ini adalah perilaku yang diharapkan.