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 →
Banner phiên bản. Tất cả các ví dụ TypeScript nhắm tới
@raydium-io/raydium-sdk-v2@0.2.42-alpha trên Solana mainnet-beta, được xác minh vào tháng 4 năm 2026. Khung CPI Rust nhắm tới raydium-cp-swap trên nhánh master, Anchor 0.30.x. ID chương trình được lấy qua các hằng số từ reference/program-addresses.Yêu cầu chuẩn bị
raydium-sdk-V2-demo/src/cpmm; liên kết GitHub nằm bên cạnh mỗi phần. Khởi tạo tuân theo config.ts.template của kho demo (nguồn):
Raydium là giao diện SDK — mọi ví dụ dưới đây sử dụng nó. Nó lấy danh sách token và cấu hình phí từ api-v3.raydium.io một cách lười biếng; bạn có thể khởi tạo nó với dữ liệu của riêng bạn trong các môi trường ngoại tuyến.
Tạo pool CPMM
Nguồn:src/cpmm/createCpmmPool.ts
- Sắp xếp các mint theo thứ tự token0/token1 trước khi lấy PDA.
- Thanh toán
create_pool_feemột lần tớipoolFeeAccount. - Tạo các tài khoản token được liên kết của người gọi nếu bị thiếu.
- Chọn đúng chương trình token (SPL Token so với Token-2022) cho mỗi phía.
Swap (nhập cơ sở)
Nguồn:src/cpmm/swap.ts
getPoolInfoFromRpc. Không định giá từ api-v3.raydium.io cho một giao dịch mà bạn sắp ký — một báo giá cũ một khối có thể trượt vào ExceededSlippage tại thời điểm hạ cánh.
Swap (xuất cơ sở)
Nguồn:src/cpmm/swapBaseOut.ts
Gửi thanh khoản
Nguồn:src/cpmm/deposit.ts
lpAmount thành needed_token_0 và needed_token_1 bằng cách sử dụng dự trữ hiện tại của pool, phóng to mỗi cái theo 1 + slippage cho các đối số maximum_* của hướng dẫn, và xây dựng các lần tạo ATA nếu cần thiết.
Rút thanh khoản
Nguồn:src/cpmm/withdraw.ts
Thu phí giao thức/quỹ/người sáng tạo
Nguồn:src/cpmm/collectCreatorFee.ts, src/cpmm/collectAllCreatorFee.ts
Những hướng dẫn này được kiểm soát quyền hạn của quản trị viên hoặc người sáng tạo và thường được gọi từ người ký được lưu giữ bởi đa chữ ký Raydium hoặc người sáng tạo pool. SDK cung cấp chúng dưới dạng các trình xây dựng thô:
PoolState:
Khung CPI Rust
Nếu bạn muốn gọi CPMM từ chương trình Anchor riêng của mình — ví dụ, một kho lưu trữ thực hiện swap thay mặt cho những người gửi tiền của nó — ngữ cảnh CPI trông giống như vậy. Thứ tự tài khoản tuân theoproducts/cpmm/instructions.
CpiContext::new cho CpiContext::new_with_signer và chuyển các seed của bạn.
Các lỗi phổ biến
Một danh sách kiểm tra ngắn trước khi mở vé hỗ trợ:- Mint đã sắp xếp. Nếu PDA
poolStateđược lấy của bạn không khớp với pool trên chuỗi, bạn có lẽ quên sắp xếp các mint. - Báo giá API cũ. Không bao giờ chuyển một giá trị dự trữ từ
api-v3.raydium.iovàoCurveCalculator.swap. Tìm nạp từ RPC. - Chương trình token sai. Kho của mint Token-2022 được sở hữu bởi chương trình Token-2022, không phải bởi SPL Token. Luôn sử dụng các trường
token_0_program/token_1_programcủa pool. - Slippage được định giá dưới mức cho các mint phí chuyển. Nếu một trong hai phía của pool là mint phí chuyển Token-2022,
minimum_amount_outcủa bạn phải được định giá theo những gì người dùng thực sự nhận được, không phải những gì kho lưu trữ gửi. NotApprovedtrên một swap. Kiểm traPoolState.status— quản trị viên có thể đã tạm dừng swap trên pool đó. Xemproducts/cpmm/instructionscho mặt nạ trạng thái.
Bước tiếp theo
sdk-api/typescript-sdk— tham chiếu SDK đầy đủ.sdk-api/rest-api— các điểm cuối báo giá và siêu dữ liệu pool.user-flows/create-cpmm-pool— hướng dẫn không mã của cùng một luồng.integration-guides/aggregator— nếu bạn định tuyến CPMM như một phần của đường dẫn đa bước.

