Skip to main content

Ringkasan

Transaksi praproses adalah transaksi Solana praeksekusi yang dikirim sebelum mencapai tingkat komitmen processed. Helius menggabungkan beberapa sumber praeksekusi — terutama shred yang didekode langsung saat tiba di validator, dilengkapi dengan sinyal prakonfirmasi — lalu mengirimkannya sebagai satu aliran yang telah dideduplikasi, tanpa paket shred mentah yang perlu diterima atau infrastruktur deshredding yang perlu Anda operasikan. Transaksi yang bersumber dari sinyal prakonfirmasi tiba lebih lambat di feed ini daripada di produk khusus Preconfirmations, yang tetap memberikan akses paling awal ke transaksi tersebut. Cara menggunakan transaksi praproses adalah melalui metode WebSocket preprocessedSubscribe (Beta Publik) — tersedia pada semua paket berbayar dengan biaya 0,1 kredit per pesan.

preprocessedSubscribe (WSS)

Cara yang direkomendasikan untuk melakukan streaming transaksi praproses: pemfilteran akun, payload biner ringkas, dan tersedia pada semua paket berbayar.

Posisi transaksi praproses dalam siklus proses

Dalam arsitektur Solana, transaksi melewati beberapa tahap sebelum diproses sepenuhnya:
  1. Penerimaan Shred → Validator menerima shred transaksi (fragmen data). ← Shred mentah (UDP) dikirim pada tahap ini.
  2. Decoding Shred → Shred didekode menjadi transaksi mentah. ← Transaksi praproses terutama dikirim pada tahap ini.
  3. Eksekusi Transaksi → Transaksi dieksekusi oleh runtime.
  4. Pembuatan Metadata → Saldo sebelum/sesudah, log, dan informasi kesalahan dihitung.
  5. Komitmen → Transaksi mencapai status processed/confirmed/finalized. ← LaserStream gRPC dan LaserStream WebSocket mengirimkan data pada tahap ini.
Langganan pascaeksekusi mengirimkan data pada tahap 5 — setelah eksekusi penuh dan pembuatan metadata. Transaksi praproses dikirim pada waktu tahap 2 — setelah decoding shred, sebelum eksekusi selesai. Untuk mendapatkan sinyal yang lebih awal lagi, Preconfirmations melakukan streaming transaksi sebelum transaksi tersebut menjadi shred. Komprominya: Anda menerima data transaksi lebih awal, tetapi tanpa metadata eksekusi seperti perubahan saldo, log, atau informasi kesalahan.
Ini adalah aliran khusus transaksi. Pembaruan status akun dan program belum ada hingga runtime mengeksekusi transaksi. Jika Anda memerlukan pembaruan akun atau program secara real-time — saldo token, status bonding curve, akun program — gunakan LaserStream gRPC pada komitmen processed sebagai gantinya.

Data apa yang tersedia?

Transaksi praproses mencakup transaksi lengkap yang telah ditandatangani, tetapi tidak memiliki metadata eksekusi:

Data yang Tersedia

  • ✅ Tanda tangan transaksi - Pengidentifikasi unik transaksi
  • ✅ Kunci akun - Semua akun yang dirujuk oleh transaksi
  • ✅ Instruksi - Data instruksi dan panggilan program secara lengkap
  • ✅ Blockhash terbaru - Referensi kedaluwarsa transaksi
  • ✅ Tanda tangan - Semua tanda tangan transaksi
  • ✅ Nomor slot - Slot tempat transaksi diamati

Data yang Tidak Tersedia

  • ❌ Metadata transaksi - Perubahan saldo token, saldo sebelum/sesudah, status transaksi
  • ❌ Kesalahan transaksi - Kami tidak dapat menentukan apakah transaksi gagal
  • ❌ Instruksi internal - Pemanggilan lintas program (CPI) tidak disertakan
  • ❌ Pesan log - Log program dibuat selama eksekusi
  • ❌ Unit komputasi yang digunakan - Metrik eksekusi tidak tersedia
Anggap transaksi praproses seperti menerima “proposal” tanpa “hasil”. Anda melihat apa yang coba dilakukan pengirim, tetapi bukan apa yang benar-benar terjadi.

Jaminan pengiriman

Pengiriman dilakukan berdasarkan upaya terbaik, tidak dijamin, dan tidak tersedia pemutaran ulang historis. Transaksi yang dialirkan merupakan sinyal praeksekusi, bukan tingkat komitmen — transaksi tersebut dapat gagal, dibatalkan, atau masuk ke fork lain. Lakukan deduplikasi berdasarkan tanda tangan dan rekonsiliasi dengan aliran processed atau confirmed jika hasil eksekusi penting. Untuk aplikasi penting yang memerlukan jaminan pengiriman dan data lengkap, gunakan LaserStream gRPC.

Kapan sebaiknya menggunakan transaksi praproses

Aplikasi sensitif latensi yang memerlukan transaksi praeksekusi yang telah didekode tanpa harus mengoperasikan decoder shred:
  • propAMM
  • Sniper
  • Copy trader
  • Bot likuidasi
  • Arbitrase
Jika setiap mikrodetik sangat berarti dan Anda dapat melakukan deshredding pada kecepatan jalur penuh, gunakan shred mentah (UDP). Jika Anda memerlukan sinyal paling awal, gunakan Preconfirmations.

Harga

preprocessedSubscribe tersedia pada semua paket berbayar dan dikenai biaya 0,1 kredit per pesan — satu pesan untuk setiap transaksi yang dikirim. Lihat Kredit untuk detailnya.

Tanya Jawab Umum

Tidak, filter ditetapkan oleh preprocessedSubscribe awal. Untuk menghindari jeda, kami menyarankan Anda membuka koneksi kedua dengan filter baru, menunggu konfirmasi langganannya, lalu mengalihkan layanan Anda ke filter baru tersebut.
Batas 10 koneksi bersamaan diberlakukan per kunci API. Setiap kunci API dalam sebuah proyek memiliki batas 10 koneksinya sendiri.

Langkah berikutnya

Subscribe with preprocessedSubscribe

Endpoint, pemfilteran akun, tata letak payload biner, dan contoh kode.

Preconfirmations

Transaksi yang dialirkan sebelum menjadi shred — sinyal transaksi paling awal.

Raw Shreds (UDP)

Paket shred yang belum diproses melalui UDP. Anda mengimplementasikan deshredding.

Helius Sender

Tindak lanjuti apa yang Anda lihat dengan pendaratan transaksi tercepat.