Mengapa Transaksi Solana Gagal: 5 Perbaikan
Learn why Solana transactions fail and how to fix them. Covers blockhash expiry, priority fees, slippage, compute units, and RPC issues with step-by-s...
Panduan berorientasi tindakan ini berfokus pada lima perbaikan praktis untuk transaksi Solana yang gagal dan langkah-langkah yang dapat mencegah kegagalan berulang.
Transaksi Solana gagal karena lima alasan:
- Blockhash kedaluwarsa sebelum jaringan mengonfirmasi transaksi
- Biaya prioritas terlalu rendah untuk permintaan jaringan saat ini
- Toleransi selip dilanggar pada swap DEX
- Anggaran unit komputasi habis di tengah eksekusi
- Node RPC yang menghubungkan wallet Anda ke jaringan kelebihan beban
✅ Dana Anda Aman
Transaksi Solana yang gagal tidak memotong token dari wallet Anda. Saldo SOL dan token Anda tetap berada di tempatnya semula. Paling banyak, Anda mungkin kehilangan sedikit biaya jaringan dasar, biasanya kurang dari $0,001. Jumlah swap, jumlah transfer, atau harga mint NFT Anda tidak ditagih.
Di halaman ini:
- Mengapa Transaksi Solana Gagal: Apa yang Terjadi
- 5 Akar Penyebab Kegagalan Transaksi Solana
- Pesan Kesalahan Solana yang Didekodekan
- Cara Memperbaiki Transaksi Solana yang Gagal
- Kegagalan Khusus Platform
- Apakah Solana Down? Cara Memeriksa Status Jaringan
- Apakah Anda Tetap Membayar Biaya pada Transaksi yang Gagal?
- Daftar Periksa Pra-Transaksi
- Pertanyaan yang Sering Diajukan
- Ringkasan: Cocokkan Kesalahan Anda dengan Perbaikan yang Tepat
Mengapa Transaksi Solana Gagal: Apa yang Terjadi
Melihat transaksi Solana gagal saat pergerakan harga sedang berlangsung sangatlah membuat frustrasi, terutama ketika pesan kesalahan tidak memberi tahu Anda apa pun yang berguna. Jika swap, mint, atau transfer Anda baru saja gagal di Jupiter, Raydium, Orca, atau Magic Eden, penyebabnya hampir selalu salah satu dari lima hal, dan masing-masing memiliki perbaikan khusus.
Di seluruh ekosistem DeFi (keuangan terdesentralisasi) Solana, termasuk swap token, penyediaan likuiditas, protokol peminjaman, dan mint NFT, kegagalan transaksi membawa konsekuensi finansial yang nyata karena harga bergerak dalam hitungan milidetik. Arsitektur Solana membuatnya lebih cepat dan lebih murah daripada kebanyakan blockchain, tetapi juga menciptakan mode kegagalan yang tidak akan diharapkan oleh pengguna yang terbiasa dengan Ethereum atau rantai lainnya. Berbeda dengan jaringan di mana transaksi lambat menunggu dalam antrean, Solana menggunakan protokol penerusan transaksi yang disebut Gulf Stream yang membuang transaksi yang tidak dapat segera diproses. Tidak ada antrean. Transaksi yang gagal memerlukan pengiriman ulang aktif dengan pengaturan yang benar.
Panduan ini mencakup kegagalan di seluruh mata uang kripto wallet Anda (seperti Phantom atau Backpack), Jupiter, Raydium, Orca, dan Magic Eden. Jika Anda mencurigai Solana sendiri sedang mengalami masalah hari ini, langsung saja ke bagian status jaringan sebelum memecahkan masalah pengaturan Anda.
5 Akar Penyebab Kegagalan Transaksi Solana
Kegagalan transaksi Solana terbagi dalam dua kategori: kegagalan tingkat jaringan (kedaluwarsa blockhash, kemacetan, node RPC yang kelebihan beban) dan penolakan tingkat program dari kontrak pintar, atau program, yang menjalankan aplikasi yang Anda gunakan. Kesalahan toleransi selip dan kesalahan anggaran komputasi adalah penolakan tingkat program; kedaluwarsa blockhash dan biaya prioritas yang tidak mencukupi adalah tingkat jaringan. Perbaikannya tergantung pada jenis yang Anda hadapi.
Solana menggunakan sistem pencatatan waktu yang disebut Proof of History, yang menghasilkan urutan kriptografi yang digunakan validator untuk menyetujui waktu tanpa mengomunikasikan stempel waktu satu sama lain. Setiap slot dalam urutan ini menghasilkan blockhash, kode seperti stempel waktu yang disematkan di setiap transaksi untuk membuktikan bahwa transaksi tersebut adalah yang terbaru. Arsitektur berbasis slot ini menciptakan jendela kedaluwarsa unik Solana dan inilah yang membedakan mode kegagalannya dari blockchain lain.
Penyebab 1: Blockhash Kedaluwarsa
Setiap transaksi Solana membawa blockhash, yang membuktikan bahwa transaksi tersebut baru saja dibuat. Jika blockhash ini kedaluwarsa sebelum jaringan mengonfirmasi transaksi, Solana akan membatalkannya sepenuhnya.
Setiap blockhash valid selama kurang lebih 150 slot, yang setara dengan sekitar 60 hingga 90 detik dalam kondisi normal. Selama kemacetan jaringan, validator tertinggal dalam pemrosesan, yang berarti transaksi kedaluwarsa lebih cepat dalam istilah relatif. Pesan kesalahan yang akan Anda lihat adalah Blockhash not found atau Transaction expired.
Solana menggunakan Gulf Stream alih-alih antrean transaksi tradisional, yang berarti transaksi yang dibuang tidak akan masuk antrean lagi dan menunggu. Transaksi tersebut hilang. Anda harus mengirim ulang secara aktif dengan memulai transaksi lagi dari antarmuka wallet atau DEX Anda. wallet secara otomatis mengambil blockhash baru pada pengiriman baru. Untuk prosedur pengiriman ulang, lihat Perbaikan 3: Kirim Ulang Dengan Blockhash Baru.
⚠️ Catatan Pengembang
Selalu ambil blockhash baru dengan
connection.getLatestBlockhash('confirmed')pada setiap upaya pengulangan. Jangan pernah menggunakan kembali blockhash di seluruh upaya pengulangan. Gunakan tingkat komitmenconfirmedataufinalizeddi lingkungan produksi, bukanprocessed, untuk menghindari status usang. Deteksi apakah transaksi dibuang atau diproses dengan memanggilgetSignatureStatusessebelum setiap pengulangan.
Penyebab 2: Biaya Prioritas Terlalu Rendah
Selama kemacetan jaringan, validator Solana, komputer yang memproses transaksi Anda, memilih transaksi mana yang akan ditangani terlebih dahulu berdasarkan tingkat biaya prioritas.
Sebuah biaya prioritas adalah tip opsional yang dibayarkan kepada validator, diukur dalam micro-lamport per unit komputasi. Satu lamport sama dengan 0,000000001 SOL; satu micro-lamport adalah sepersejuta lamport. Selama periode lalu lintas tinggi seperti peluncuran NFT yang populer atau pergerakan pasar yang tajam, validator memproses transaksi dengan biaya prioritas yang lebih tinggi terlebih dahulu. Transaksi dengan biaya prioritas nol atau tidak mencukupi akan dibuang alih-alih diantrekan.
Penyebab terkait dari kesalahan SOL yang tidak mencukupi: Solana mengharuskan setiap akun untuk mempertahankan saldo minimum yang disebut ambang batas bebas sewa agar tetap aktif di jaringan. Jika saldo dompet Anda jatuh di bawah ambang batas ini setelah biaya, atau jika transaksi akan membuat akun token baru tanpa cukup SOL untuk mendanainya, Anda akan melihat kesalahan Insufficient funds bahkan ketika Anda tampak memiliki cukup SOL untuk perdagangan itu sendiri. Simpan buffer 0,05 SOL di atas jumlah transaksi Anda.
Inilah sebabnya mengapa mengirim ulang transaksi yang sama tanpa mengubah pengaturan sering kali gagal lagi. Untuk panduan tentang pengaturan tingkat biaya yang benar, lihat Perbaikan 1: Tingkatkan Biaya Prioritas Anda.
⚠️ Catatan Pengembang
Tambahkan
ComputeBudgetProgram.setComputeUnitPrice(microLamports)sebagai instruksi pertama dalam transaksi Anda. Lakukan jajak pendapatgetRecentPrioritizationFees()untuk estimasi dinamis alih-alih menggunakan pengganda statis. Tingkat biaya berubah seiring dengan permintaan jaringan, sehingga nilai statis menjadi tidak dapat diandalkan selama lonjakan kemacetan. Deteksi pemicu failover dengan memantau kesalahan HTTP 429 (batas laju), 503 (layanan tidak tersedia), dan batas waktu koneksi.
Penyebab 3: Anggaran Komputasi Terlampaui
Setiap transaksi Solana berjalan pada anggaran pemrosesan yang disebut unit komputasi, yang mengukur seberapa banyak pekerjaan komputasi yang diperlukan transaksi tersebut. Transfer sederhana menghabiskan sangat sedikit dari anggaran ini. Operasi yang kompleks, seperti swap DEX multi-hop yang merutekan melalui tiga atau empat kolam likuiditas, menghabiskan jauh lebih banyak.
Jika transaksi Anda melampaui anggaran unit komputasi sebelum selesai, Solana akan membatalkannya. Kesalahan yang akan Anda lihat adalah Compute budget exceeded atau Program failed to complete.
Sebelum mengirim transaksi, Phantom dan dompet lainnya menjalankan pemeriksaan pra-peluncuran yang disebut simulasi transaksi, yang mengeksekusi transaksi terhadap status blockchain saat ini tanpa benar-benar mengirimkannya. Jika simulasi mendeteksi bahwa unit komputasi akan habis, simulasi akan memblokir transaksi dan menampilkan Transaction simulation failed. Sebagian besar kegagalan simulasi menunjukkan masalah nyata pada transaksi, meskipun terkadang data status yang kedaluwarsa menyebabkan kegagalan palsu pada transaksi yang seharusnya berhasil.
Bagi sebagian besar pengguna pada antarmuka DEX modern, batas unit komputasi diatur secara otomatis. Jika Anda melihat kesalahan anggaran komputasi, gunakan tombol coba lagi bawaan DEX sebelum mencoba penyesuaian manual. Untuk langkah-langkah terperinci, lihat Perbaikan 5: Sesuaikan Anggaran Unit Komputasi.
⚠️ Catatan Pengembang
Tambahkan
ComputeBudgetProgram.setComputeUnitLimit(units)sebagai instruksi pertama dalam transaksi. JalankansimulateTransaction()terlebih dahulu untuk mengukur konsumsi unit komputasi yang sebenarnya, lalu atur batas ke konsumsi aktual dikalikan dengan 1,1 sebagai buffer 10%. Menyetel batas terlalu rendah menyebabkan kegagalanInstructionError; menyetelnya terlalu tinggi memboroskan anggaran biaya tetapi tidak menyebabkan kegagalan.
Penyebab 4: Selip Tolerance Terlampaui
Toleransi Selip adalah perlindungan yang ditetapkan oleh Bursa Terdesentralisasi (DEX, sebuah Platform tempat Anda dapat menukar token secara langsung dari wallet Anda) atas nama Anda. Jika harga token bergerak lebih dari ambang batas yang Anda tetapkan antara saat Anda meminta penukaran dan saat eksekusi, Kontrak Pintar akan membatalkan transaksi untuk melindungi Anda dari harga yang lebih buruk daripada yang diharapkan.
Ini adalah kegagalan protektif, bukan kerugian. Pokok Anda aman; penukaran tidak dieksekusi. Kesalahan yang akan Anda lihat adalah Slippage tolerance exceeded.
Kegagalan Selip paling sering terjadi pada token yang volatil, Pasangan Trading dengan Likuiditas rendah, dan selama periode kemacetan tinggi saat ada penundaan yang lebih lama antara penawaran harga dan eksekusi Anda. Jika kolam Likuiditas memiliki cadangan yang sangat rendah, bahkan toleransi Selip 5% mungkin tidak cukup karena kolam tersebut tidak dapat mengakomodasi ukuran perdagangan Anda pada harga yang wajar. Dalam hal ini, coba kurangi jumlah penukaran Anda atau beralih ke Pasangan Trading yang berbeda.
Jupiter, Raydium, dan Orca adalah DEX tempat kegagalan ini paling sering ditemui. Untuk instruksi penyesuaian langkah demi langkah, lihat Perbaikan 2: Sesuaikan Toleransi Selip Anda.
Penyebab 5: RPC Terlalu Beban Node
wallet Solana Anda terhubung ke server yang disebut node RPC untuk mengirimkan transaksi. Anggap saja sebagai kantor pos yang meneruskan transaksi Anda ke jaringan validator. Setiap kali Anda mengklik konfirmasi di Phantom atau Backpack, wallet mengirimkan transaksi Anda ke node RPC, yang kemudian meneruskannya ke validator.
Endpoint RPC publik gratis Solana dibatasi kecepatannya dan sering kali kelebihan beban selama periode permintaan tinggi. Selama peluncuran NFT yang populer atau pergerakan pasar yang tajam, node RPC publik menerima jauh lebih banyak pengiriman daripada yang dapat mereka tangani, dan mereka menjatuhkan transaksi bahkan sebelum transaksi tersebut mencapai validator. Ketika ini terjadi, Anda mungkin melihat Unable to confirm transaction atau mengalami kegagalan senyap tanpa pesan kesalahan sama sekali.
Beralih ke penyedia RPC khusus, seperti Helius atau QuickNode, yang keduanya menawarkan paket gratis, memberikan jalur yang lebih andal bagi transaksi Anda ke jaringan. Untuk langkah-langkah mengganti RPC Anda, lihat Perbaikan 4: Beralih ke Endpoint RPC yang Lebih Baik.
⚠️ Catatan Pengembang
Pertahankan daftar endpoint RPC cadangan dalam konfigurasi aplikasi Anda. Terapkan logika failover otomatis ketika endpoint utama mengembalikan kesalahan atau waktu habis. Gunakan WebSocket
signatureSubscribeuntuk pemantauan konfirmasi transaksi daripada polling HTTP dengangetSignatureStatuses, karena langganan WebSocket lebih cepat dan lebih andal di bawah beban.
Pesan Kesalahan Solana Didekode: Arti Masing-Masing
Pesan kesalahan dari transaksi Solana yang gagal muncul di log aktivitas wallet Anda (Phantom atau Solflare), di Solana Explorer (explorer.solana.com), atau di Solana FM (solana.fm). Untuk mencari transaksi gagal tertentu, Salin tanda tangan transaksi dari riwayat transaksi wallet Anda dan tempelkan ke salah satu explorer tersebut. Transaksi yang gagal menunjukkan status kesalahan merah dengan kode kesalahan tertentu.
Sebelum mengirim transaksi apa pun, Phantom menjalankan simulasi untuk memprediksi apakah transaksi tersebut akan berhasil. Jika pemeriksaan pra-peluncuran ini gagal, Phantom menampilkan Transaction simulation failed dan memblokir pengiriman. Sebagian besar kegagalan simulasi menunjukkan masalah nyata dengan pengaturan Anda, tetapi terkadang data yang kedaluwarsa menyebabkan kegagalan palsu. Dalam hal ini, menyegarkan halaman dan mengirimkan ulang sekali adalah tindakan yang tepat.
| String Kesalahan | Jenis Kegagalan | Arti Bahasa Sederhana | Perbaikan Segera |
|---|---|---|---|
Transaction simulation failed | Tingkat jaringan atau program | Pemeriksaan pra-peluncuran Phantom memprediksi transaksi ini akan gagal. Penyebabnya bisa berupa Selip, dana tidak mencukupi, atau status kedaluwarsa. | Periksa konteks kesalahan di Phantom, sesuaikan Selip atau Saldo SOL; lihat Perbaikan 1 atau Perbaikan 2 |
Blockhash not found / Transaction expired | Tingkat jaringan | Blockhash transaksi Anda kedaluwarsa sebelum jaringan memprosesnya. Transaksi dibatalkan, tidak dimasukkan ke antrean. | Kirim ulang dari awal; lihat Perbaikan 3: Blockhash Segar |
Slippage tolerance exceeded | Tingkat program | Harga token bergerak melampaui ambang batas yang Anda tetapkan sebelum eksekusi. Pokok Anda aman. | Tingkatkan toleransi Selip; lihat Perbaikan 2: Toleransi Selip |
Insufficient funds for fee | Tingkat jaringan | wallet Anda tidak memiliki cukup SOL untuk menutupi biaya transaksi, atau ambang batas bebas sewa untuk akun token baru. | Tambahkan SOL; simpan buffer 0,05 SOL di atas jumlah transaksi Anda |
Compute budget exceeded / Program failed to complete | Tingkat program | Transaksi kehabisan anggaran komputasinya sebelum selesai. Paling sering terjadi pada swap multi-hop. | Gunakan tombol coba lagi bawaan DEX; lihat Perbaikan 5: Anggaran Unit Komputasi |
InstructionError: custom program error: [code] | Tingkat program | Kontrak Pintar aplikasi menolak transaksi tersebut. Kode numerik bersifat khusus untuk aplikasi. | Periksa dokumentasi DEX atau dApp untuk kode kesalahan tersebut; kirim ulang dengan parameter yang disesuaikan |
Transaction was not confirmed in 30.00 seconds | Tingkat jaringan | Transaksi telah dikirim tetapi tidak dikonfirmasi dalam jendela waktu habis. Transaksi tersebut mungkin atau mungkin tidak telah dibatalkan. | Periksa Solana Explorer sebelum mengirim ulang untuk mengonfirmasi apakah transaksi berhasil; lihat Perbaikan 3 |
Account not found | Tingkat program | Akun yang diperlukan, sering kali akun token untuk token baru, belum ada. | Antarmuka DEX modern menyelesaikan masalah ini secara otomatis; jika terus berlanjut, periksa penyiapan akun token Anda di wallet Anda |
Cara Memperbaiki Transaksi Solana yang Gagal
Daftar periksa perbaikan cepat (mulai dengan Perbaikan 1 jika Anda tidak yakin mana yang berlaku):
- Tingkatkan biaya prioritas Anda ke Cepat (Fast) atau Turbo dan kirim ulang
- Sesuaikan toleransi Selip naik sebesar 0,5% hingga 1% dan kirim ulang
- Kirim ulang dengan blockhash baru (tunggu 5 detik, lalu mulai lagi dari DEX)
- Beralih ke endpoint RPC khusus di pengaturan wallet Anda
- Periksa status jaringan Solana di status.solana.com sebelum mencoba lagi jika Anda mencurigai adanya kemacetan
Biaya prioritas yang tidak mencukupi menyebabkan mayoritas transaksi gagal selama periode perdagangan aktif, jadi Perbaikan 1 adalah titik awal yang tepat saat Anda tidak yakin.
Perbaikan 1: Tingkatkan Biaya Prioritas Anda
Meningkatkan biaya prioritas Anda adalah solusi paling efektif untuk transaksi yang gagal selama periode padat. Ini memberi sinyal kepada validator untuk memproses transaksi Anda sebelum pengiriman biaya yang lebih rendah.
Tingkat biaya bervariasi dengan permintaan jaringan. Gunakan fitur estimasi otomatis wallet Anda atau periksa Solana Beach untuk kondisi jaringan saat ini. Jangan mengandalkan nilai lamport tertentu, karena nilainya berubah dengan cepat.
Referensi Tingkat Biaya Prioritas:
| Tingkat Biaya | Kapan Digunakan | Di Jupiter | Di Phantom |
|---|---|---|---|
| Otomatis / Normal | Periode lalu lintas rendah, transfer sederhana | Otomatis | Pasar |
| Cepat | Jam perdagangan aktif, kemacetan sedang | Cepat | Tinggi |
| Turbo | Kemacetan puncak, mint NFT, perdagangan kompetitif | Turbo | Kustom (maks) |
| Kustom | Kontrol tepat atau penggunaan terprogram | Masukkan micro-lamports | Masukkan micro-lamports |
Untuk meningkatkan biaya prioritas di Jupiter (antarmuka mungkin bervariasi menurut versi):
- Buka Jupiter di jup.ag
- Klik ikon roda gigi pengaturan di panel swap
- Pilih Biaya Prioritas
- Pilih Cepat atau Turbo, atau masukkan nilai Kustom
- Kirim ulang swap Anda
Untuk meningkatkan biaya prioritas di Phantom:
- Buka wallet Phantom
- Buka Pengaturan
- Pilih Transaksi
- Sesuaikan Kecepatan Transaksi ke Tinggi atau Kustom
- Kembali ke DEX Anda dan kirim ulang
Untuk Raydium, klik roda gigi pengaturan di antarmuka swap, pilih Biaya Prioritas, pilih tingkatan yang lebih tinggi, dan kirim ulang. Tabel Kegagalan Spesifik Platform menunjukkan jalur navigasi yang tepat untuk setiap platform.
⚠️ Catatan Pengembang
Tambahkan
ComputeBudgetProgram.setComputeUnitPrice(microLamports)sebagai instruksi pertama dalam transaksi Anda. PanggilgetRecentPrioritizationFees()untuk mendapatkan persentil biaya jaringan saat ini daripada menggunakan pengganda statis. Kelebihan bayar membuang-buang SOL tetapi tidak menyebabkan kegagalan transaksi.
Solusi 2: Sesuaikan Toleransi Selip Anda
Jika swap Anda gagal dengan kesalahan toleransi selip, solusinya adalah memperluas rentang harga yang dapat diterima, tetapi jumlah Anda memperluasnya penting.
⚠️ Peringatan Penting
Menyetel selip di atas 3% hingga 5% pada pasangan token dengan likuiditas rendah membuat Anda terpapar serangan sandwich MEV, di mana bot mendeteksi transaksi Anda yang tertunda dan mendahuluinya untuk mengekstrak nilai. Tingkatkan selip secara bertahap, jangan sekaligus.
Untuk menyesuaikan selip di Jupiter (antarmuka mungkin bervariasi menurut versi):
- Buka Jupiter dan klik ikon roda gigi pengaturan
- Pilih Toleransi Selip
- Tingkatkan pengaturan Anda saat ini sebesar 0,5% hingga 1% (misalnya, dari 0,5% menjadi 1,5%)
- Kirim ulang swap Anda
Untuk Raydium: klik roda gigi pengaturan, pilih Selip, masukkan persentase yang disesuaikan, dan kirim ulang. Untuk Orca: klik Pengaturan, sesuaikan Toleransi Selip, dan kirim ulang. Tabel Kegagalan Spesifik Platform menunjukkan jalur navigasi yang tepat untuk setiap DEX.
Jika Anda menggunakan Jupiter, periksa apakah fitur Selip Dinamis tersedia di antarmuka Anda. Fitur ini secara otomatis menghitung selip optimal untuk setiap perdagangan berdasarkan kondisi pasar saat ini.
Jika token terus gagal bahkan pada selip 5%, masalahnya kemungkinan adalah likuiditas yang tidak mencukupi di pool daripada pergerakan harga. Coba kurangi jumlah swap Anda atau pecah perdagangan menjadi transaksi yang lebih kecil.
Solusi 3: Kirim Ulang dengan Blockhash Baru
Kedaluwarsa blockhash diperbaiki dengan mengirim ulang, tetapi Anda tidak dapat mengirim ulang objek transaksi yang sama. Solana memerlukan blockhash baru pada setiap pengiriman.
Karena Solana menggunakan Gulf Stream daripada antrean transaksi tradisional, transaksi yang terputus tidak dapat "diperbaiki". Transaksi tersebut hilang. Transaksi baru harus dibuat dari awal.
Untuk pengguna konsumen (Phantom, Jupiter, Raydium):
- Tunggu 5 hingga 10 detik setelah kegagalan
- Jangan klik kirim lagi pada layar konfirmasi yang sama
- Kembali ke antarmuka swap dan mulai ulang transaksi dari awal
- wallet Anda secara otomatis mengambil blockhash baru saat Anda mengirim ulang
Sebelum mengirim ulang: periksa Solana Explorer (explorer.solana.com) untuk memastikan transaksi tidak benar-benar berhasil. Tempelkan tanda tangan transaksi Anda ke bilah pencarian. Jika transaksi ditampilkan sebagai terkonfirmasi, jangan kirim ulang.
⚠️ Catatan Pengembang
Ambil blockhash baru dengan
connection.getLatestBlockhash('confirmed')sebelum setiap upaya coba lagi. Terapkan backoff eksponensial: tunggu 1 detik sebelum percobaan pertama, 2 detik sebelum yang kedua, 4 detik sebelum yang ketiga. Tetapkan jumlah percobaan maksimum sebanyak 5 kali sebelum menampilkan kesalahan kepada pengguna. Gunakan tingkat komitmenconfirmedataufinalized, bukanprocessed, saat mengambil blockhash di lingkungan produksi.
Endpoint RPC publik gratis Solana (api.mainnet-beta.solana.com) dibatasi tarifnya dan sering kali kelebihan beban selama periode permintaan tinggi, membuat transaksi yang dikirim lebih mungkin untuk dibuang sebelum mencapai validator.
Penyedia RPC khusus seperti Helius dan QuickNode umumnya menawarkan keandalan yang lebih tinggi daripada RPC Mainnet Solana publik selama kemacetan. Kedua penyedia menawarkan tingkatan gratis yang cocok untuk pengguna individu.
Untuk mengganti RPC di Phantom (antarmuka mungkin bervariasi menurut versi):
- Buka wallet Phantom
- Buka Pengaturan
- Pilih Pengaturan Pengembang
- Pilih Ubah Endpoint RPC
- Masukkan URL endpoint Helius atau QuickNode Anda
- Konfirmasi dan kirim ulang transaksi Anda
Untuk mengganti RPC di Solflare:
- Buka wallet Solflare
- Buka Pengaturan
- Pilih Jaringan
- Pilih RPC Kustom dan masukkan URL endpoint Anda
- Simpan dan kirim ulang transaksi Anda
⚠️ Catatan Pengembang
Pertahankan daftar endpoint RPC cadangan dalam konfigurasi aplikasi Anda. Terapkan logika failover otomatis sehingga aplikasi Anda beralih ke cadangan saat yang utama mengembalikan kesalahan atau waktu habis. Gunakan
signatureSubscribeWebSocket untuk pemantauan konfirmasi transaksi daripada melakukan polling dengangetSignatureStatuses, karena koneksi WebSocket lebih cepat di bawah beban berat.
Untuk pengguna konsumen, sebagian besar antarmuka DEX modern, termasuk Jupiter dan Raydium, mengatur batas unit komputasi secara otomatis. Jika Anda melihat kesalahan Compute budget exceeded, gunakan fungsi coba lagi atau segarkan bawaan DEX daripada menyesuaikan pengaturan secara manual.
Jika kesalahan berlanjut, coba sederhanakan rute swap Anda. Rute langsung melalui satu pool menggunakan unit komputasi lebih sedikit daripada rute multi-hop yang kompleks melalui empat atau lima pool. Di Jupiter, cari opsi Rute Langsung Saja di pengaturan perutean.
Jika swap Anda terus gagal pada pasangan tertentu, itu mungkin rute permintaan yang tinggi secara sementara. Menunggu beberapa menit dan mengirim ulang sering kali menyelesaikan masalah tanpa perubahan pengaturan apa pun.
⚠️ Catatan Pengembang
Tambahkan
ComputeBudgetProgram.setComputeUnitLimit(units)sebagai instruksi pertama dalam transaksi. JalankansimulateTransaction()terlebih dahulu untuk mengukur konsumsi unit komputasi aktual, lalu tetapkan batas ke konsumsi aktual dikalikan 1,1 sebagai buffer keamanan 10%. Menetapkan batas terlalu rendah menyebabkan kegagalanInstructionError; menetapkannya terlalu tinggi membuang anggaran biaya tanpa menyebabkan kegagalan.
Kegagalan Spesifik Platform: Phantom, Jupiter, Raydium, dan Magic Eden
Skenario kegagalan Solana yang paling umum terjadi secara berbeda tergantung pada platform yang Anda gunakan. Periksa tabel perbandingan di bawah ini untuk menemukan platform Anda, lalu baca subbagian yang relevan untuk rinciannya.
| Platform | Kegagalan Paling Umum | Lokasi Pengaturan Selip | Lokasi Biaya Prioritas |
|---|---|---|---|
| Phantom | Transaction simulation failed, saldo SOL rendah | Tidak Berlaku (wallet saja) | Pengaturan → Transaksi → Kecepatan Transaksi |
| Jupiter | Selip terlampaui, biaya prioritas tidak mencukupi | Ikon Roda Gigi → Toleransi Selip | Ikon Roda Gigi → Biaya Prioritas (Otomatis/Cepat/Turbo) |
| Raydium | Dampak harga tinggi pada pool tipis | Roda Gigi Pengaturan → Selip | Roda Gigi Pengaturan → Biaya Prioritas |
| Orca | Selip pada posisi likuiditas terpusat Whirlpool | Pengaturan → Toleransi Selip | Pengaturan → Kecepatan Transaksi |
| Magic Eden | Kemacetan jaringan selama acara mint | Tidak Berlaku | Pengaturan dompet sebelum peluncuran mint |
Kegagalan Swap Jupiter
Perutean multi-hop Jupiter mengirimkan swap Anda melalui beberapa pool likuiditas untuk menemukan harga terbaik. Setiap hop tambahan menambah konsumsi unit komputasi dan menciptakan titik lain di mana pergerakan harga dapat menembus toleransi selip.
Dua kegagalan paling umum khusus Jupiter adalah toleransi selip terlampaui pada pasangan token yang fluktuatif, dan Transaction simulation failed karena biaya prioritas yang tidak mencukupi. Keduanya diperbaiki dengan menyesuaikan pengaturan di menu ikon roda gigi Jupiter sebelum mengirim ulang.
Pemilih biaya prioritas bawaan Jupiter menawarkan opsi Normal, Cepat, Turbo, dan Kustom. Selama sesi perdagangan aktif apa pun, Cepat adalah pengaturan minimum yang direkomendasikan. Selama peluncuran NFT atau pergerakan pasar yang tajam, gunakan Turbo.
Beberapa wallet yang lebih lama tidak mendukung format transaksi versi Jupiter. Jika Anda melihat error format transaksi alih-alih error selip atau biaya, periksa apakah perangkat lunak wallet Anda sudah diperbarui.
Kegagalan AMM Raydium dan Orca paling sering berasal dari dampak harga tinggi pada pool dengan likuiditas terbatas. Pool tidak dapat mengakomodasi ukuran perdagangan Anda dengan harga yang wajar, bahkan dengan pengaturan selip yang besar.
Sebelum mengonfirmasi swap apa pun di Raydium atau Orca, periksa persentase dampak harga yang ditampilkan di antarmuka. Jika dampak harga melebihi 2% hingga 3%, ukuran perdagangan terlalu besar untuk likuiditas yang tersedia di pool tersebut. Kurangi jumlah swap Anda atau pecah transaksi menjadi dua atau tiga swap yang lebih kecil yang dikirimkan secara berurutan.
Untuk posisi likuiditas terpusat Whirlpool Orca, selip bisa sangat sensitif. Jika pool terpusat telah keluar dari kisaran harga aktifnya, transaksi akan gagal terlepas dari pengaturan selip Anda. Dalam hal ini, coba pool yang berbeda atau rute melalui agregator Jupiter, yang secara otomatis menemukan jalur alternatif.
Kegagalan mint NFT di Magic Eden berbeda dari kegagalan DEX rutin karena masalahnya bukan pada pengaturan Anda. Masalahnya adalah pengiriman ribuan transaksi secara bersamaan selama jendela peluncuran yang sempit, yang membebani jaringan dan menyebabkan validator menjatuhkan transaksi dengan biaya prioritas rendah sebelum dapat diproses.
Mint permintaan tinggi yang menggunakan program Candy Machine menciptakan persaingan ekstrem. Bot mengirimkan ratusan transaksi per detik, menjenuhkan RPC publik dan antrean validator.
Protokol tiga langkah untuk mint yang berhasil selama peluncuran permintaan tinggi:
- Sebelum jendela mint dibuka, atur biaya prioritas Anda ke Turbo atau pengaturan maksimum yang tersedia di wallet Anda
- Alihkan dari RPC publik Solana ke penyedia khusus seperti Helius atau QuickNode (tingkatan gratis sudah cukup)
- Siapkan halaman mint sepenuhnya dan koneksi wallet Anda telah disetujui sebelumnya; kirimkan transaksi segera saat mint dibuka, bukan setelah halaman diperbarui
Prinsipal SOL Anda dikembalikan secara otomatis jika transaksi mint gagal. Hanya biaya jaringan kecil, sekitar 0,000005 SOL, yang dikonsumsi. Beberapa proyek juga menggunakan mekanisme daftar putih dan Candy Guards, jadi jika transaksi terus-menerus gagal meskipun dengan pengaturan yang benar, pastikan Anda memenuhi syarat untuk fase mint saat ini.
Apakah Solana Down? Cara Memeriksa Likuiditas Jaringan Status
Sebagian besar kegagalan transaksi Solana tidak disebabkan oleh gangguan jaringan. Itu berasal dari pengaturan sisi pengguna atau kemacetan jaringan sementara. Gangguan yang sebenarnya, di mana jaringan berhenti sepenuhnya, jarang terjadi dan diumumkan secara resmi.
Pemeriksaan status tiga langkah:
- Buka status.solana.com, halaman status jaringan resmi Solana, dan periksa laporan insiden aktif apa pun dari Solana Foundation.
- Buka Solana Beach dan periksa angka transaksi per detik (TPS) real-time dan waktu konfirmasi rata-rata. Tingkat kegagalan tinggi selama TPS aktif menunjukkan kemacetan jaringan, bukan gangguan.
- Periksa r/solana atau Discord Solana. Jika banyak pengguna melaporkan kegagalan secara bersamaan, jaringan sedang mengalami kemacetan. Jika hanya beberapa yang melaporkan, masalahnya kemungkinan ada di pihak Anda.
| Situasi | Apa yang Harus Dilakukan |
|---|---|
| Jaringan macet tetapi tidak mati | Tunggu 5 hingga 15 menit, lalu kirim ulang dengan biaya prioritas lebih tinggi. Biaya turun secara alami saat kemacetan mereda. |
| Gangguan jaringan dikonfirmasi di status.solana.com | Tunggu pengumuman resolusi resmi. Jangan terus mengirim ulang selama gangguan aktif. |
| Jaringan normal, transaksi Anda masih gagal | Kembali ke Perbaikan 1 hingga Perbaikan 5 dan periksa pengaturan Anda. |
Apakah Anda Masih Membayar Biaya untuk Transaksi Solana yang Gagal?
Ya, Solana mengenakan biaya transaksi dasar kecil meskipun transaksi gagal, tetapi token Anda dan jumlah prinsipal swap, transfer, atau mint Anda tidak dipotong dari wallet Anda.
Token Anda aman. Transaksi gagal sebelum swap atau transfer dieksekusi.
Biaya dasar adalah sekitar 0,000005 SOL per tanda tangan, yang setara dengan sebagian kecil dari satu sen pada sebagian besar tingkat harga SOL. Biaya ini mengkompensasi validator untuk memproses percobaan transaksi meskipun tidak berhasil. Jika Anda menyertakan biaya prioritas, jumlah itu juga dikonsumsi. Jumlah token yang Anda coba tukar, SOL yang Anda coba kirim, atau harga NFT yang Anda coba bayar tidak pernah dipotong.
Transaksi yang dibatalkan secara diam-diam oleh node RPC yang kelebihan beban sebelum mencapai validator tidak dikenakan biaya sama sekali, karena tidak ada catatan on-chain-nya.
Untuk memverifikasi berapa tepatnya biaya yang dikenakan pada transaksi yang gagal:
- Salin tanda tangan transaksi dari riwayat transaksi wallet Anda
- Tempelkan ke Solana Explorer atau Solana FM
- Temukan transaksi yang gagal, yang menunjukkan status error berwarna merah
- Periksa kolom Biaya (Fee) untuk melihat jumlah SOL yang dikenakan
Daftar Periksa Pra-Transaksi: Cara Mencegah Kegagalan Transaksi Solana
Menjalankan daftar periksa ini sebelum transaksi apa pun yang sensitif terhadap waktu membutuhkan waktu kurang dari 60 detik dan menghilangkan penyebab kegagalan yang paling umum.
- Periksa status.solana.com untuk insiden aktif sebelum transaksi apa pun selama kondisi pasar yang fluktuatif
- Atur biaya prioritas Anda ke setidaknya Cepat (Fast) untuk transaksi apa pun selama jam perdagangan aktif; gunakan Turbo untuk perdagangan yang sensitif terhadap waktu atau mint NFT
- Verifikasi toleransi selip Anda sesuai dengan volatilitas pasangan token: 0,5% untuk pasangan stabil seperti USDC/USDT, 1% hingga 2% untuk token kapitalisasi menengah, hingga 3% untuk kapitalisasi kecil yang volatil
- Konfirmasikan saldo SOL Anda mencakup jumlah transaksi ditambah biaya ditambah buffer 0,05 SOL untuk ambang batas bebas sewa
- Untuk transaksi yang sensitif terhadap waktu atau bernilai tinggi, alihkan dari RPC publik Solana ke penyedia khusus seperti Helius atau QuickNode (keduanya menawarkan tingkatan gratis)
- Untuk mint NFT: konfigurasikan biaya prioritas dan RPC Anda sebelum jendela mint dibuka, bukan selama itu
- Untuk swap DEX besar: periksa persentase dampak harga sebelum mengonfirmasi; jika dampak harga melebihi 2% hingga 3%, kurangi jumlah swap atau pecah menjadi transaksi yang lebih kecil
- Percayai pengoptimal biaya bawaan DEX Anda jika tersedia; Jupiter, Raydium, dan Orca masing-masing menawarkan rekomendasi biaya otomatis yang menyesuaikan dengan kondisi jaringan saat ini
⚠️ Catatan Pengembang
Di dApps produksi, terapkan estimasi unit komputasi berbasis simulasi daripada batas statis. Panggil
getRecentPrioritizationFees()secara dinamis dan perbarui rekomendasi biaya Anda pada setiap pengiriman transaksi. Terapkan failover RPC agar aplikasi Anda beralih ke endpoint cadangan secara otomatis. Jangan pernah menggunakan kembali blockhashes di berbagai upaya coba ulang.
Pertanyaan yang Sering Diajukan: Lima Perbaikan untuk Transaksi Solana yang Gagal
Setiap jawaban di bawah ini bersifat mandiri. Anda tidak perlu membaca sisa panduan ini untuk menggunakan FAQ.
Apa penyebab transaksi Solana gagal?
Transaksi Solana gagal karena lima alasan: kedaluwarsa blok (blockhash expiry), biaya prioritas tidak mencukupi, habisnya anggaran unit komputasi, pelanggaran toleransi selip (slippage tolerance breach), atau kelebihan beban node RPC. Kegagalan tingkat jaringan memerlukan peningkatan biaya prioritas Anda dan pengiriman ulang. Penolakan tingkat program memerlukan penyesuaian parameter transaksi seperti toleransi selip atau jumlah swap. Lihat Lima Penyebab Akar Kegagalan Transaksi Solana untuk penjelasan lengkap masing-masing.
Ya. Solana mengenakan biaya transaksi dasar yang kecil, sekitar 0,000005 SOL, bahkan ketika transaksi gagal, tetapi token dan pokok swap Anda tidak terpotong. Transaksi yang dibuang secara diam-diam oleh node RPC yang kelebihan beban sebelum mencapai jaringan tidak dikenakan biaya sama sekali, karena tidak meninggalkan catatan on-chain. Lihat Apakah Anda Masih Membayar Biaya untuk instruksi verifikasi.
Transaksi Solana kedaluwarsa setelah sekitar 150 slot, yang kira-kira 60 hingga 90 detik dalam kondisi jaringan normal. Selama kemacetan, waktu kedaluwarsa yang efektif dapat terasa lebih pendek karena validator tertinggal dalam pemrosesan. Setelah kedaluwarsa, transaksi akan dibuang secara permanen dan harus dikirim ulang dari awal.
Blockhash adalah kode mirip stempel waktu yang disematkan dalam setiap transaksi Solana yang membuktikan transaksi dibuat baru-baru ini. Validator menggunakannya untuk memverifikasi bahwa transaksi tersebut mutakhir dan belum diputar ulang dari sesi sebelumnya. Blockhashes kedaluwarsa setelah sekitar 150 slot; setelah itu, transaksi ditolak dengan kesalahan Blockhash not found atau Transaction expired.
Unit komputasi adalah ukuran Solana untuk sumber daya pemrosesan yang dikonsumsi transaksi. Transfer sederhana menggunakan jumlah kecil; swap DEX multi-hop yang kompleks menggunakan secara signifikan lebih banyak. Jika transaksi menghabiskan anggaran unit komputasinya sebelum selesai, Solana membatalkannya dan mengembalikan kesalahan Compute budget exceeded. Antarmuka DEX modern mengatur batas unit komputasi secara otomatis untuk sebagian besar pengguna.
Biaya prioritas adalah tip opsional yang dibayarkan kepada validator dalam micro-lamports per unit komputasi untuk memajukan transaksi Anda di depan pengiriman berbiaya lebih rendah selama kemacetan. Biaya transaksi dasar Solana tetap dan kecil; biaya prioritas adalah komponen variabel yang menentukan seberapa cepat transaksi Anda diproses. Tingkat biaya bervariasi dengan permintaan jaringan, jadi gunakan fitur estimasi otomatis wallet Anda atau Helius Priority Fee API untuk nilai saat ini.
Salin tanda tangan transaksi dari riwayat transaksi wallet Anda dan tempelkan ke Solana Explorer atau Solana FM. Transaksi yang gagal menampilkan status kesalahan merah dengan kode kesalahan spesifik. Transaksi yang dikonfirmasi menampilkan status keberhasilan hijau. Selalu periksa sebelum mengirim ulang untuk menghindari pengiriman transaksi duplikat.
Dana Anda tidak perlu dipulihkan karena tidak pernah dikirim. Transaksi Solana yang gagal tidak memotong token atau jumlah swap Anda dari wallet. Transaksi gagal sebelum eksekusi, jadi saldo wallet Anda tidak berubah kecuali untuk biaya dasar yang kecil. Pokok Anda aman.
Solana menggunakan protokol penerusan transaksi yang disebut Gulf Stream alih-alih antrean transaksi tradisional. Gulf Stream meneruskan transaksi langsung ke validator berikutnya yang diharapkan sebelum blok saat ini selesai. Transaksi yang tidak dapat diproses segera dibuang daripada ditahan dalam antrean tunggu. Desain ini memungkinkan throughput tinggi Solana tetapi berarti transaksi yang gagal memerlukan pengiriman ulang aktif daripada menunggu pasif.
Transaksi gagal simulasi berarti Phantom menjalankan uji coba pra-penyelesaian pada transaksi Anda dan memprediksi bahwa transaksi tersebut tidak akan berhasil. Phantom memblokir pengiriman untuk mencegah Anda membuang biaya pada transaksi yang akan gagal. Sebagian besar kegagalan simulasi menunjukkan masalah nyata dengan pengaturan Anda, seperti selip yang tidak mencukupi, saldo SOL rendah, atau penolakan program. Terkadang, data status yang basi menyebabkan kegagalan palsu; menyegarkan halaman dan mengirim ulang sekali sudah tepat dalam kasus tersebut.
Tambahkan SOL ke wallet Anda dan pastikan saldo Anda melebihi jumlah transaksi ditambah biaya ditambah buffer 0,05 SOL. Kesalahan dana tidak mencukupi di Solana tidak selalu berarti Anda kehabisan SOL untuk biaya saja. Terkadang itu berarti Anda tidak memiliki cukup SOL untuk menutupi ambang batas bebas sewa yang diperlukan untuk membuat akun token baru saat menerima token untuk pertama kalinya.
Pokok Anda aman. Token atau SOL yang Anda coba kirim atau tukar tetap berada di wallet Anda persis seperti semula. Transaksi Solana yang gagal tidak mengeksekusi transfer, swap, atau mint, sehingga saldo Anda tidak berubah. Hanya biaya transaksi dasar yang kecil, biasanya kurang dari $0,001, yang mungkin telah dikenakan.
Transaksi yang berulang kali gagal biasanya menunjukkan pengaturan yang salah yang sama dikirim ulang tanpa penyesuaian. Identifikasi kesalahan Anda: jika itu adalah Slippage tolerance exceeded, tingkatkan toleransi selip dan kirim ulang. Jika transaksi dibuang secara diam-diam tanpa pesan kesalahan, biaya prioritas Anda terlalu rendah. Jika status.solana.com menampilkan insiden aktif, tunggu hingga jaringan pulih sebelum mengirim ulang.
Kegagalan mint OTK_10 terjadi karena ribuan pengguna dan bot mengirimkan transaksi secara bersamaan dalam jendela peluncuran yang sempit, menjenuhkan baik endpoint RPC publik maupun antrean validator. Validator membuang transaksi berbiaya prioritas rendah untuk mengelola beban. Menetapkan biaya prioritas Anda ke Turbo dan beralih ke penyedia RPC khusus sebelum jendela mint dibuka secara signifikan meningkatkan tingkat keberhasilan. Lihat Magic Eden dan Kegagalan Mint NFT untuk protokol persiapan lengkap.
Toleransi selip adalah pergerakan harga maksimum yang akan Anda terima antara saat Anda meminta swap dan saat swap dieksekusi. Jika harga token bergerak melebihi ambang batas itu, kontrak pintar membatalkan swap secara otomatis untuk melindungi Anda dari menerima harga yang jauh lebih buruk daripada yang dikutip. Pengaturan umum berkisar dari 0,5% untuk pasangan token stabil hingga 2% atau 3% untuk aset yang mudah menguap. Mengaturnya di atas 3% hingga 5% pada pasangan dengan likuiditas rendah meningkatkan paparan terhadap serangan sandwich MEV.
Jelajahi SOL di Bybit
Gunakan halaman harga Solana) untuk meninjau data pasar SOL saat ini, atau akses pasar spot SOL/USDT) jika trading spot sesuai dengan tujuan Anda. Aktivitas trading Bybit tidak sama dengan pengiriman transaksi on-chain Solana; biaya jaringan mungkin masih berlaku saat menyetor atau menarik SOL di jaringan Solana.
Setiap kegagalan transaksi Solana sesuai dengan salah satu dari lima penyebab akar, dan masing-masing memiliki perbaikan spesifik.
| Akar Masalah | Galat yang Anda Lihat | Perbaikan Cepat |
|---|---|---|
| Blockhash kedaluwarsa | Blockhash tidak ditemukan / Transaksi kedaluwarsa | Tunggu 5 detik, kirim ulang dari awal dengan blockhash baru |
| Biaya prioritas terlalu rendah | Transaksi dibatalkan secara diam-diam selama kemacetan | Atur biaya ke Cepat atau Turbo di DEX atau wallet Anda, lalu kirim ulang |
| Selip terlampaui | Toleransi selip terlampaui | Tingkatkan Selip sebesar 0,5% hingga 1% di pengaturan DEX Anda, lalu kirim ulang |
| Anggaran komputasi habis | Anggaran komputasi terlampaui / Program gagal diselesaikan | Gunakan tombol coba lagi bawaan DEX; untuk swap yang kompleks, coba rute langsung |
| Node RPC kelebihan beban | Gagal mengonfirmasi transaksi / pembatalan diam-diam | Beralih ke Helius atau QuickNode di pengaturan RPC wallet Anda, lalu kirim ulang |
Pokok Anda aman dalam setiap skenario ini. Transaksi Solana yang gagal tidak menghilangkan token secara permanen; hanya Tarif Dasar minimal yang dikonsumsi. Untuk menghindari kegagalan berulang, tinjau Daftar Periksa Pra-Transaksi sebelum swap atau Mint yang sensitif terhadap waktu berikutnya.
Jalur pengaturan yang dirujuk dalam panduan ini akurat sesuai tanggal publikasi dan mungkin berbeda berdasarkan versi wallet atau DEX. Level biaya bervariasi tergantung pada permintaan jaringan; gunakan fitur estimasi otomatis wallet Anda atau Helius Priority Fee API untuk nilai saat ini. Referensi alat (Helius, QuickNode, Solana Beach) disajikan sebagai Opsi, bukan dukungan.