Skip to main content
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Spesifikasi versi.
  • SDK: @raydium-io/raydium-sdk-v2@0.2.42-alpha
  • Cluster: Solana mainnet-beta
  • Program ID: lihat reference/program-addresses
  • Terakhir diverifikasi: 2026-04
Kunci versi SDK di package.json Anda. Antarmuka bonding curve telah berkembang antar rilis minor.

Setup

Demo di sini mencerminkan file di raydium-sdk-V2-demo/src/launchpad. Bootstrap mengikuti config.ts.template dari repo demo:

Buat peluncuran

Sumber: src/launchpad/createMint.ts (dan createBonkMintApi.ts untuk varian Bonk berbasis API)
Catatan:
  • initialK adalah faktor skala untuk curve kuadratik. Sesuaikan untuk menargetkan harga CPMM pembukaan tertentu saat lulus. Lihat products/launchlab/bonding-curve untuk penurunannya.
  • SDK menangani pembuatan base mint, metadata PDA, dan kedua vault dalam satu transaksi. Mungkin melebihi 1232 byte jika URI metadata panjang; dalam hal itu SDK membagi menjadi dua transaksi.
  • Setelah Initialize, peluncuran tidak dapat diperdagangkan sampai openTime. Atur openTime satu atau dua menit ke depan untuk memberi front-runner kesempatan lebih sedikit untuk merebut pembelian pertama.

Ambil status peluncuran

getLaunchById mengembalikan LaunchState yang didekode ditambah fraksi “kemajuan menuju lulus” yang dihitung sebagai Decimal.

Beli — quote tepat masuk

Sumber: src/launchpad/buy.ts
computeBuyBase mencerminkan pemecah Newton on-chain (curve kuadratik) atau CPMM-inverse bentuk tertutup (curve_type 1). Gunakan untuk mengisi bidang UI “Anda terima”.

Beli — base tepat keluar

Berguna untuk UI “beli tepat X token”. Ditolak dengan ExceededSlippage jika curve telah bergerak cukup sehingga persyaratan quote sekarang melebihi maximumQuoteIn.

Jual

Sumber: src/launchpad/sell.ts
Jalur jual curve simetris dengan jalur beli: mengurangi base_sold sebesar baseIn mengembalikan quote_out sama dengan area terintegrasi di bawah curve antara base_sold − baseIn dan base_sold, dikurangi biaya jual.

Lulus otomatis pada pembelian penyeberangan ambang

SDK merantai instruksi Graduate di dalam transaksi buy* ketika mendeteksi status pasca-beli akan melampaui ambang:
Karena Graduate tidak memerlukan izin, siapa pun (termasuk bot MEV) dapat berlomba untuk mendarat Graduate pertama setelah ambang dilampaui — biasanya dalam hitungan detik, bukan menit. Pendaratan pertama hanya membayar sewa untuk akun pool CPMM; mereka tidak mendapat manfaat lain.

Graduate manual

Jika autoGraduate dimatikan atau transaksi penyeberangan ambang gagal, Anda dapat menjalankan kelulusan secara terpisah:
Kembali dengan NotAtThreshold jika quote_reserve_real < quote_reserve_target pada waktu pengajuan. Aman untuk coba ulang — upaya Graduate kedua setelah sukses kembali dengan NotActive.

Kumpulkan biaya kreator

Sumber: src/launchpad/claimCreatorFee.ts (mint tunggal) dan collectAllCreatorFees.ts (batch)
Mentransfer jumlah penghitung biaya kreator yang terkumpul ke ATA kreator pada quote mint. Dapat dipanggil sebelum atau sesudah kelulusan; gunakan secara berkala daripada menunggu saldo besar terakumulasi.

Lacak peluncuran melalui siklus hidupnya

Menyatukannya, skrip pemantauan mungkin terlihat seperti:

Pantau konfigurasi dan pool melalui gRPC

Sumber: src/grpc/launchpadPoolInfo.ts Berlangganan program LaunchLab melalui Yellowstone gRPC dan catat setiap pembaruan GlobalConfig dan PoolState dengan program token setiap mint. Dua filter datasize pada satu langganan accounts memisahkan dua jenis akun, jadi satu aliran mencakup keduanya. Demo adalah referensi paling singkat yang benar untuk mengklasifikasikan mint peluncuran, yang diperlukan oleh rilis quote-mint Token-2022:
  • Pool diklasifikasikan langsung dari PoolState.token_program_flag, mendekode bit0 untuk base mint dan bit1 untuk quote mint tanpa pengambilan mint sama sekali. Menguji seluruh byte terhadap 0 — yang cukup saat quote mint hanya legacy — salah membaca base mint legacy sebagai Token-2022 kapan pun quote mint adalah Token-2022.
  • Config tidak dapat diklasifikasikan dengan cara itu: GlobalConfig menyimpan alamat quote mint dan tidak ada flag program, jadi demo membaca pemilik akun mint sekali dan menyimpannya per mint.
Ini juga melakukan cross-check keduanya satu sama lain, yang merupakan pernyataan berguna untuk disimpan di indexer Anda sendiri. Perhatikan bahwa create versus update disimpulkan dari cache demo sendiri, ditanam saat startup dari getProgramAccounts; dengan seeding itu dinonaktifkan, baca “create” sebagai “pertama kali terlihat di aliran ini”. Akses gRPC bukan bagian dari permukaan RPC publik — lihat src/grpc/README.md dari repo demo.

Rust CPI

Memanggil LaunchLab dari program Anchor Anda sendiri jarang terjadi (sebagian besar integrasi peluncuran hanya di sisi TS). Jika Anda melakukannya, program mengirimkan crate Anchor raydium_launchlab dengan cpi::accounts::Buy, cpi::accounts::Sell, dll. — pola mencerminkan contoh CPI CPMM / CLMM. Lihat sdk-api/rust-cpi untuk template umum setelah situs ini diisi.

Jebakan

  • Aritmetika pembagian biaya off-by-one. Jika total_share bukan persis lp_share + creator_share + protocol_share, Initialize kembali dengan InvalidFeeShares. Atur totalShare sama dengan jumlahnya.
  • Menggunakan quote mint yang tidak diizinkan. launch_config.allowed_quote_mints adalah daftar tetap; melewati mint lain apa pun kembali. Periksa dengan raydium.launchpad.getConfig() terlebih dahulu.
  • Ukuran metadata. String uri panjang mendorong Metaplex CPI melampaui anggaran. Jaga uri di bawah ~200 karakter — sebagian besar metadata JSON yang dihosting CDN cocok dengan mudah.
  • Perlombaan kelulusan. Bot otomatis memantau quote_reserve_real dan front-run Graduate dalam satu atau dua slot setelah penyeberangan ambang. Ini tidak berbahaya — hanya menghabiskan sewa mereka — tetapi berarti UI Anda harus memperlakukan transisi status sebagai peristiwa cepat.

Ke mana selanjutnya

Sumber: