Skip to main content
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 →
Cái này làm gì. Tải pool CPMM từ RPC, báo giá swap với slippage 0,5%, xây dựng giao dịch, ký bằng keypair của bạn, và gửi nó. Từ đầu đến cuối trong ~30 dòng.

Thiết lập

Hãy chắc chắn bạn đã đọc Điều kiện tiên quyết Quick start và có RPC_URL, KEYPAIR, cùng các dependency được cài đặt.

Script

Lưu dưới dạng swap.mjs:
swap.mjs

Chạy nó

Chọn bất kỳ pool CPMM nào mà bạn có thanh khoản. Ví dụ với pool CPMM SOL/USDC chính thức:
Kết quả dự kiến:

Vừa xảy ra cái gì

  1. Raydium.load khởi tạo SDK — tìm nạp cấu hình toàn cục, thiết lập ngữ cảnh ví của bạn.
  2. getPoolInfoFromRpc kéo trạng thái pool trực tiếp từ RPC (không phải từ bộ nhớ cache API). Đối với swap có giá trị cao, bạn luôn muốn trạng thái mới nhất.
  3. CurveCalculator.swap tính toán đầu ra constant-product sau khi trừ phí của pool. Đây là toán học giống như chương trình chạy on-chain, vì vậy bạn có thể so sánh báo giá off-chain và on-chain.
  4. raydium.cpmm.swap xây dựng giao dịch với định dạng V0 (bảng tra cứu địa chỉ được bật) và thêm cấu hình compute-budget rõ ràng. Mẹo compute-budget giúp giao dịch được xử lý trong các cửa sổ bận rộn.
  5. execute({ sendAndConfirm: true }) ký, gửi, và chờ xác nhận.

Lỗi phổ biến

  • Pool not foundPOOL_ID sai, hoặc bạn đang trỏ đến cluster sai (ID pool mainnet so với RPC devnet, v.v.).
  • Insufficient funds for transaction — Ví của bạn không có đủ SOL cho đầu vào swap + phí + tiền thuê ATA.
  • Slippage tolerance exceeded — Giá của pool đã thay đổi giữa báo giá và thực thi. Chạy lại; hoặc tăng tham số slippage; hoặc sử dụng computeAmountOut của SDK luôn tìm nạp lại reserves.
  • Token account not initialized — ATA của token đầu ra không tồn tại và lệnh tạo ngầm đã được thực thi nhưng thất bại vì lý do nào đó; kiểm tra số dư SOL của ví bạn và thử lại.

Tiếp theo