Chuyển đến nội dung chính
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 →
Điều 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 đi. Hoàn toàn trong ~30 dòng.

Thiết lập

Hãy đảm bảo bạn đã đọc Quick start prerequisites và có RPC_URL, KEYPAIR, cùng các thư viện phụ thuộc được cài đặt.

Script

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

Chạy nó

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

Điều gì vừa xảy ra

  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 từ bộ nhớ cache API). Đối với swap có giá trị cao, bạn luôn muốn trạng thái tươi mới.
  3. CurveCalculator.swap tính toán đầu ra constant-product sau phí của pool. Đây là toán học giống như chương trình chạy trên chuỗi, nên bạn có thể so sánh báo giá ngoài chuỗi và trên chuỗi.
  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. Tiền tip compute-budget giúp giao dịch lên sàn 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 trỏ đến cụm 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á pool thay đổi giữa báo giá và thực hiện. Chạy lại; hoặc tăng tham số slippage; hoặc sử dụng SDK’s computeAmountOut luôn lấy lại reserve.
  • Token account not initialized — ATA của token đầu ra không tồn tại và hướng dẫn tạo ngầm định đã lên nhưng không thành công vì lý do nào đó; kiểm tra số dư SOL của ví và thử lại.

Tiếp theo