Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Apa yang dilakukan halaman ini. Membuat pool CLMM baru pada tingkat biaya pilihan Anda, lalu membuka posisi terkonsentrasi awal. Dua transaksi, satu skrip. Kode diambil dari demo resmi di
raydium-sdk-V2-demo/src/clmm dan disesuaikan menjadi satu file yang dapat dijalankan Node.Setup
Pastikan Anda telah membaca Prasyarat Quick start dan memilikiRPC_URL, KEYPAIR, serta dependensi yang dipasang.
Pembuatan pool CLMM memiliki biaya sekali jalan ditambah sewa tick array per tick untuk posisi awal. Anda juga memerlukan kedua seed mint di dompet Anda — membuka posisi ketika harga berada dalam jangkauan yang dipilih memerlukan likuiditas di kedua sisi.
Langkah 1 — config.ts
Simpan sebagai config.ts. Bentuknya sama dengan src/config.ts.template repo demo — disableFeatureCheck dipaksa ke true (disarankan untuk integrasi apa pun yang tidak trivial sehingga SDK tidak memblokir panggilan deteksi fitur startupnya):
Langkah 2 — createPool.ts
Simpan di samping config.ts. Sumber: src/clmm/createPool.ts.
Langkah 3 — createPosition.ts
Sumber: src/clmm/createPosition.ts.
Langkah 4 — utils.ts
Sumber: src/clmm/utils.ts.
Jalankan
Apa yang baru saja terjadi
Transaksi 1 —raydium.clmm.createPool menginisialisasi:
- state pool di PDA kanonik untuk
(mint1, mint2, ammConfig), token_0_vaultdantoken_1_vault(diurutkan menurut urutan byte mint),- ring buffer
observation, - inline tick-array bitmap,
sqrt_price_x64 awal dari initialPrice Anda.
Transaksi 2 — raydium.clmm.openPositionFromBase membuka posisi terkonsentrasi:
- mencetak position NFT ke dompet Anda (NFT adalah posisi; mentransfernya mentransfer posisi),
- mengalokasikan tick array pada batas bawah dan atas (sewa sekali jalan jika posisi pertama di rentang tersebut; tick array tidak pernah ditutup oleh program, jadi posisi berikutnya di array yang sama tidak membayar sewa tambahan),
- mendeposit
inputAmountdarimint1dan jumlah pasangan yang cocok darimint2(dihitung olehPoolUtils.getLiquidityAmountOutFromAmountIn), - mengkreditkan posisi dengan likuiditas proporsional dengan lebar rentang.
[0.000001, 100000]) secara efektif adalah full-range; kurangi untuk memusatkan biaya di dekat spot saat ini.
Memilih tingkat biaya
clmmConfigs[0] adalah tingkat biaya terendah. Set lengkapnya dipublikasikan di GET https://api-v3.raydium.io/main/clmm-config:
| Indeks | tradeFeeRate | Tick spacing | Digunakan ketika |
|---|---|---|---|
| 0 | 100 (1bp) | 1 | Stabil / stabil, kerugian impermanent sangat rendah diharapkan |
| 1 | 500 (5bp) | 10 | Aset yang sangat berkorelasi (misalnya liquid-staked vs underlying) |
| 2 | 2_500 (25bp) | 60 | Pasangan token standar, blue-chip + stabil |
| 3 | 10_000 (1.00%) | 120 | Pasangan yang volatile atau thin di mana risiko IL tinggi |
user-flows/choosing-a-pool-type untuk matriks keputusan lengkap.
Kesalahan umum
Pool already exists for this config— Pool CLMM sudah ada untuk triple(mint1, mint2, ammConfig)ini. Cari ID pool yang ada dan lewati Langkah 2.Insufficient funds for amount B— Dompet Anda memiliki jumlahmintAyang diminta tetapi bukanmintByang cocok. Membuka posisi ketika harga berada dalam rentang memerlukan likuiditas di kedua sisi.Tick out of range—lowerPriceatauupperPriceAnda jatuh di luar jangkauan harga yang dapat direpresentasikan. Gunakan rentang yang lebih masuk akal relatif terhadap harga saat ini.- Harga basi — Penawaran dari API dapat berusia 5–60 detik. Jika
executePositiongagal pada slippage, buka komentar blokgetRpcClmmPoolInfodicreatePosition.tsuntuk mengambil kembali harga aktif tepat sebelum menandatangani.
Peringatan
- Position NFT adalah satu-satunya handle Anda. Kehilangan NFT atau mentransfernya, kehilangan akses ke posisi. Perlakukan seperti kunci.
- Posisi out-of-range tidak memperoleh biaya. Jika harga bergerak di luar
[lowerPrice, upperPrice], posisi Anda diparkir sepenuhnya dalam satu aset dan tidak memperoleh apa pun sampai Anda menyeimbangkan kembali. - Sewa tick array adalah satu arah. Posisi pertama untuk menyentuh tick array yang tidak pernah diinisialisasi membayar sewa-nya; program tidak menampilkan jalan untuk menutup tick array, jadi sewa itu permanen. Posisi berikutnya di array yang sama gratis.
Selanjutnya
products/clmm/overview— mekanika CLMM penuh.products/clmm/ticks-and-positions— matematika di balik tick.algorithms/impermanent-loss— mengukur amplifikasi IL CLMM.user-flows/create-clmm-pool— alur yang sama melalui UI Raydium.

