Trang này được dịch tự động bằng AI. Phiên bản tiếng Anh là bản chính thức.Xem bản tiếng Anh →
Chức năng của script này. Tạo một pool CPMM hoàn toàn mới cho hai mint bạn chỉ định, chọn mức phí 0,25%, khởi tạo thanh khoản ban đầu ở mức giá được xác định bởi các số lượng khởi tạo, và in ra ID pool mới cùng chữ ký giao dịch.
Chuẩn bị
Hãy chắc chắn rằng bạn đã đọc Điều kiện tiên quyết Bắt đầu nhanh và cóRPC_URL, KEYPAIR, cũng như các thư viện phụ thuộc đã cài đặt.
Bạn cũng cần nạp ví với các số lượng khởi tạo của cả hai mint, cộng với đủ SOL để chi trả phí tạo pool một lần và tiền thuê tài khoản (~0,19 SOL tổng cộng trên mainnet — xem reference/fee-comparison để xem chi tiết phí/tiền thuê, hoặc ray/protocol-fees chỉ để xem phí).
Chạy trên devnet. Chỉ thay đổi cluster thành "devnet" là chưa đủ. Script này sử dụng hai import được đặt tên không tuân theo cluster: programId: CREATE_CPMM_POOL_PROGRAM và poolFeeAccount: CREATE_CPMM_POOL_FEE_ACC, cả hai đều là hằng số mainnet. Hãy import DEVNET_PROGRAM_ID từ SDK và sử dụng DEVNET_PROGRAM_ID.CREATE_CPMM_POOL_PROGRAM và DEVNET_PROGRAM_ID.CREATE_CPMM_POOL_FEE_ACC thay thế — cùng mẫu mà script CLMM sử dụng.
Script
Lưu dưới dạngcreate-cpmm.mjs:
create-cpmm.mjs
Chạy script
Ví dụ: tạo một pool SOL/USDC với 1 SOL và 160 USDC khởi tạo:Điều gì vừa xảy ra
getCpmmConfigslấy danh sách các mức phí trực tiếp từapi-v3.raydium.iovà chọn index 0 (mức phí 0,25% — xemreference/fee-comparisonđể xem bộ đầy đủ).getTokenInfogiải quyết metadata của mỗi mint, bao gồm chương trình token nào sở hữu nó. CPMM chấp nhận cả mint SPL Token và Token-2022; SDK định tuyến tự động.createPoolxây dựng một giao dịch duy nhất thực hiện:- sắp xếp các mint theo thứ tự chính tắc,
- dẫn xuất PDA pool, vault, LP mint, và authority,
- thanh toán
create_pool_feemột lần tớiCREATE_CPMM_POOL_FEE_ACC, - tạo ATA của người gọi nếu thiếu,
- khởi tạo vault với
AMOUNT_AvàAMOUNT_B.
- Giá ban đầu được đặt bởi tỷ lệ khởi tạo:
price = AMOUNT_B / AMOUNT_Asau điều chỉnh số thập phân. Hãy chọn cẩn thận — bot sẽ arbitrage bất kỳ sai giá nào trong vòng vài giây sau khi pool mở. startTime: new BN(0)mở giao dịch ngay lập tức. Để chuẩn bị thanh khoản trước khi mở cho công chúng, đặt một timestamp Unix trong tương lai.
Lỗi phổ biến
pool already exists— Một pool đã tồn tại cho cặp mint này ở mức phí này. Hãy tra cứu trước khi tạo.insufficient funds— Ví của bạn không có đủMINT_A,MINT_B, hoặc SOL (cho phí tạo pool + tiền thuê).Token-2022 extension not supported— Một trong các mint của bạn sử dụng một extension mà CPMM không chấp nhận. Xemreference/token-2022-support.
Sau khi triển khai
Bạn có thể ngay lập tức swap với pool mới — script Swap từ CLI chấp nhậnPOOL_ID mới của bạn trực tiếp. Các aggregator (Jupiter, v.v.) sẽ lập chỉ mục pool mới trong vòng vài phút.
Tiếp theo
products/cpmm/overview— CPMM là gì và khi nào nên chọn nó.user-flows/create-cpmm-pool— cùng luồng với ảnh chụp màn hình, qua giao diện Raydium.user-flows/choosing-a-pool-type— bạn có nên sử dụng CLMM thay thế không?

