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 →
Phiên bản banner. Tất cả các ví dụ 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 04 năm 2026. Program ID: 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 (xem reference/program-addresses).Tạo pool mới không được hiển thị ở đây. Giao diện Raydium không còn cung cấp tính năng tạo pool AMM v4 — các cặp mới mặc định sử dụng CPMM. Chính chương trình AMM v4 vẫn chấp nhận
Initialize2 trên chuỗi; nó chỉ không phải là con đường được khuyến nghị. Các ví dụ dưới đây bao gồm các hoạt động pool trực tiếp mà mọi nhà tích hợp vẫn cần: swap, deposit, withdraw.Thiết lập
Lấy pool theo ID
poolKeys là struct mà các trình xây dựng hướng dẫn sử dụng. Nó chứa mọi tài khoản AMM v4 và OpenBook theo thứ tự mà chương trình mong đợi.
Swap (base-in)
Swap (base-out)
Thêm thanh khoản
fixedSide: "a" cho SDK biết bạn đã cung cấp amountInA chính xác và amountInB nên tối đa là maxAnotherAmount. Thanh khoản trên sách của pool được giải quyết trước phép toán tỷ lệ để tỷ lệ gửi khớp với dự trữ mới nhất.
Loại bỏ thanh khoản
Điều chỉnh compute-unit / priority fee
Các swap AMM v4 nặng về compute vì mọi hướng dẫn xác thực toàn bộ trạng thái OpenBook. Một swap điển hình sử dụng 180k–250k CU tùy thuộc vào có bao nhiêu đơn hàng mở cần giải quyết trên đường đi. Luôn truyền giới hạn compute-unit:computeBudgetConfig, SDK vẫn có thể sử dụng giá trị mặc định của riêng nó; kiểm tra innerTransactions để xác nhận. Xem integration-guides/priority-fee-tuning.
CPI Rust trực tiếp
Nếu bạn phải CPI vào AMM v4 từ chương trình Anchor của riêng bạn, bạn sẽ cần mô hình hóa danh sách tài khoản củaSwapBaseIn một cách chính xác. Một bản phác thảo tối thiểu:
Instruction được xây dựng thủ công.
Bản phác thảo CPI trên sử dụng bố cục
SwapBaseIn v1 cũ (tag 9, 17 tài khoản) để đọc/tái tạo các giao dịch hiện có. Kể từ bản nâng cấp 2026-07, các tài khoản thị trường được chấp nhận nhưng bị bỏ qua. Đối với mã mới, hãy ưu tiên SwapBaseInV2 / SwapBaseOutV2 (tags 16 / 17), loại bỏ các tài khoản thị trường (và amm_open_orders) hoàn toàn — chỉ truyền 8 tài khoản: token_program, amm, amm_authority, hai vault pool, hai tài khoản token người dùng, và user_owner.Những cạm bẫy
- Số lượng tài khoản sai trên các swap v1.
SwapBaseIn/SwapBaseOutcũ vẫn yêu cầu danh sách đầy đủ 17 tài khoản (hoặc 18 tài khoản) — một số lượng không khớp sẽ hoàn nguyên vớiWrongAccountsNumber. Nội dung của các tài khoản thị trường không còn được xác thực, nhưng bạn vẫn phải chiếm các vị trí của chúng. Ưu tiên các điểm vào V2 để tránh điều này. - Đọc số dư vault thô. Dự trữ hiện là vault-only; trừ đi PnL tích lũy (
need_take_pnl_*). SDK quote hoặcapi-v3.raydium.io/pools/info/idsxử lý điều này cho bạn. - Gọi các hướng dẫn đã bị xóa.
MonitorStep,MigrateToOpenBook,WithdrawSrm,SimulateInfo,AdminCancelOrders, vàInitialize/PreInitializecũ hiện hoàn nguyên. Sử dụngInitialize2để tạo pool; không có crank để gọi. - Token-2022 mints. Không được hỗ trợ. Không thể tạo pool AMM v4 chống lại một mint Token-2022; bất kỳ cặp Token-2022 nào cũng nên ở trên CPMM hoặc CLMM.
Tiếp theo
products/amm-v4/instructions— bề mặt cấp hướng dẫn đằng sau các ví dụ này.user-flows/migrate-amm-v4-to-cpmm— nếu bạn là LP đang xem xét di chuyển.integration-guides/priority-fee-tuning— kích thước priority-fee cho các swap AMM v4 nặng.

