Alur Kerja Manual
Mengirim transaksi secara manual mencakup langkah-langkah berikut:1
Build the Initial Transaction
Susun instruksi Anda dan tanda tangani transaksi agar dapat disimulasikan.
2
Optimize Compute Units
Simulasikan transaksi untuk menentukan CU yang diperlukan secara tepat, lalu tambahkan sedikit cadangan.
3
Add Priority Fees
Dapatkan estimasi biaya dari Helius Priority Fee API dan tambahkan ke transaksi Anda.
4
Send and Re-broadcast
Kirim transaksi akhir dan terapkan strategi polling yang andal untuk menangani konfirmasi.
Helius SDK bersifat sumber terbuka. Anda dapat melihat kode yang mendasari metode
sendSmartTransaction dalam TypeScript SDK dan Rust SDK kami untuk melihat implementasi siap produksi dari alur kerja ini.1. Bangun Transaksi Awal
Pertama, kumpulkan semua instruksi yang ingin Anda sertakan dalam transaksi. Kemudian, buat objekTransaction atau VersionedTransaction. Anda juga perlu mengambil blockhash terbaru.
Contoh ini menyiapkan transaksi berversi. Pada tahap ini, Anda juga harus menandatanganinya agar transaksi dapat disimulasikan pada langkah berikutnya.
2. Optimalkan Penggunaan Unit Komputasi (CU)
Untuk menghindari pemborosan biaya atau kegagalan transaksi, Anda harus menetapkan batas unit komputasi (CU) setepat mungkin. Anda dapat melakukannya dengan menyimulasikan transaksi menggunakan metode RPCsimulateTransaction.
Praktik terbaiknya adalah terlebih dahulu melakukan simulasi dengan batas CU yang tinggi untuk memastikan simulasi itu sendiri berhasil, lalu menggunakan unitsConsumed dari respons untuk menetapkan batas aktual Anda.
3. Tetapkan Biaya Prioritas yang Tepat
Berikutnya, tentukan biaya prioritas optimal yang akan ditambahkan ke transaksi Anda. Menggunakan Priority Fee API Helius adalah cara terbaik untuk mendapatkan estimasi waktu nyata berdasarkan kondisi jaringan saat ini. Anda perlu memanggil metode RPCgetPriorityFeeEstimate. Untuk peluang penyertaan tertinggi melalui koneksi dengan stake milik Helius, gunakan opsi recommended: true.
4. Bangun, Kirim, dan Konfirmasikan
Sekarang, susun transaksi akhir dengan instruksi anggaran komputasi yang baru, kirimkan, lalu terapkan mekanisme polling yang andal untuk mengonfirmasi bahwa transaksi telah masuk. Pola yang umum adalah mengirim ulang transaksi yang sama secara berkala hingga blockhash kedaluwarsa. Hanya tanda tangani ulang transaksi jika Anda juga mengambil blockhash baru. Penandatanganan ulang dengan blockhash yang sama dapat menyebabkan transaksi duplikat dikonfirmasi.Lindungi dari serangan sandwich
Untuk mengarahkan transaksi Anda agar tidak melewati validator yang secara statistik terkait dengan serangan sandwich, tambahkan parameter kuerimev-protect=true ke URL RPC Anda — tanpa mengubah logika transaksi:
MEV Protect
Pelajari cara kerja MEV Protect, metode yang didukungnya, dan komprominya.
Dapatkan rabat dari transaksi Anda
Anda dapat memilih untuk memperoleh bagian dari MEV yang dihasilkan transaksi Anda, yang dibayarkan secara otomatis dalam SOL — tanpa mengubah logika transaksi.Transaction Rebates
Tambahkan satu parameter ke pemanggilan
sendTransaction Anda untuk mulai memperoleh rabat SOL.Metode Terkait
sendTransaction
Kirim transaksi yang telah ditandatangani ke jaringan
simulateTransaction
Simulasikan transaksi untuk memperkirakan unit komputasi
getSignatureStatuses
Periksa status konfirmasi transaksi
getLatestBlockhash
Dapatkan blockhash terbaru untuk penandatanganan transaksi
getBlockHeight
Dapatkan tinggi blok saat ini untuk pemeriksaan kedaluwarsa