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 →
Thông tin phiên bản.
- SDK:
@raydium-io/raydium-sdk-v2@0.2.42-alpha - Cluster: Solana
mainnet-beta - Program ID: xem
reference/program-addresses - Xác minh lần cuối: 2026-04
package.json của bạn. Giao diện bonding-curve đã thay đổi giữa các bản phát hành nhỏ.Thiết lập
Các demo ở đây phản ánh các tệp trongraydium-sdk-V2-demo/src/launchpad. Bootstrap tuân theo config.ts.template của repo demo:
Tạo một launch
Nguồn:src/launchpad/createMint.ts (và createBonkMintApi.ts cho biến thể Bonk do API điều khiển)
initialKlà hệ số tỷ lệ cho đường cong bậc hai. Điều chỉnh nó để nhắm mục tiêu một giá CPMM mở cụ thể tại graduation. Xemproducts/launchlab/bonding-curveđể xem cách dẫn xuất.- SDK xử lý việc tạo base mint, metadata PDA và cả hai vault trong một giao dịch duy nhất. Nó có thể vượt quá 1232 byte nếu URI metadata dài; trong trường hợp đó, SDK chia thành hai giao dịch.
- Sau
Initialize, launch không thể giao dịch cho đếnopenTime. ĐặtopenTimetrước một hoặc hai phút để giảm cơ hội cho những người front-run nắm bắt lần mua đầu tiên.
Lấy trạng thái launch
getLaunchById trả về LaunchState được giải mã cộng với phân số “tiến độ hướng tới graduation” được tính toán dưới dạng Decimal.
Mua — quote chính xác vào
Nguồn:src/launchpad/buy.ts
computeBuyBase phản ánh bộ giải Newton on-chain (đường cong bậc hai) hoặc CPMM-inverse dạng đóng (curve_type 1). Sử dụng nó để điền trường UI “Bạn nhận được”.
Mua — base chính xác ra
ExceededSlippage nếu đường cong đã di chuyển đủ để yêu cầu quote hiện tại vượt quá maximumQuoteIn.
Bán
Nguồn:src/launchpad/sell.ts
base_sold bằng baseIn trả về quote_out bằng diện tích tích phân dưới đường cong giữa base_sold − baseIn và base_sold, trừ phí bán.
Tự động graduation khi lần mua vượt ngưỡng
SDK xâu chuỗi một hướng dẫnGraduate bên trong giao dịch buy* khi nó phát hiện trạng thái sau mua sẽ vượt qua ngưỡng:
Graduate không cần phép, bất kỳ ai (bao gồm cả bot MEV) đều có thể cạnh tranh để đặt Graduate đầu tiên sau khi ngưỡng bị vượt qua — thường là vài giây sau, không phải vài phút. Người đầu tiên chỉ trả tiền thuê cho các tài khoản pool CPMM; họ không nhận được lợi ích nào khác.
Graduate thủ công
Nếu autoGraduate bị tắt hoặc giao dịch vượt ngưỡng thất bại, bạn có thể kích hoạt graduation riêng biệt:
NotAtThreshold nếu quote_reserve_real < quote_reserve_target tại thời điểm gửi. An toàn để thử lại — nỗ lực Graduate thứ hai sau khi thành công hoàn nguyên với NotActive.
Thu thập phí creator
Nguồn:src/launchpad/claimCreatorFee.ts (mint đơn) và collectAllCreatorFees.ts (hàng loạt)
Theo dõi launch qua vòng đời của nó
Kết hợp lại, một script giám sát có thể trông như:Theo dõi cấu hình và pool qua gRPC
Nguồn:src/grpc/launchpadPoolInfo.ts
Đăng ký chương trình LaunchLab qua Yellowstone gRPC và ghi nhật ký mọi cập nhật GlobalConfig và PoolState với chương trình token của mỗi mint. Hai bộ lọc datasize trên một đăng ký accounts tách hai loại tài khoản, vì vậy một luồng duy nhất bao gồm cả hai.
Demo là tài liệu tham khảo chính xác ngắn nhất để phân loại mint của launch, mà bản phát hành quote-mint Token-2022 làm cần thiết:
- Pools được phân loại trực tiếp từ
PoolState.token_program_flag, giải mã bit0 cho base mint và bit1 cho quote mint mà không cần tìm nạp mint nào cả. Kiểm tra toàn bộ byte so với0— điều này đủ trong khi quote mint chỉ là legacy — sai lầm một base mint legacy là Token-2022 bất cứ khi nào quote mint là Token-2022. - Configs không thể được phân loại theo cách đó:
GlobalConfiglưu trữ địa chỉ quote mint của nó và không có cờ chương trình, vì vậy demo đọc chủ sở hữu tài khoản mint một lần và lưu vào bộ nhớ cache cho mỗi mint.
create so với update được suy ra từ bộ nhớ cache của demo, được gieo hạt tại khởi động từ getProgramAccounts; với việc gieo hạt đó bị vô hiệu hóa, hãy đọc “create” là “lần đầu tiên được nhìn thấy trên luồng này”.
Quyền truy cập gRPC không phải là một phần của bề mặt RPC công khai — xem src/grpc/README.md của repo demo.
Rust CPI
Gọi LaunchLab từ chương trình Anchor của riêng bạn là hiếm (hầu hết các tích hợp launch chỉ ở phía TS). Nếu bạn làm, chương trình vận chuyển một crate Anchorraydium_launchlab với cpi::accounts::Buy, cpi::accounts::Sell, v.v. — mẫu phản ánh các ví dụ CPI CPMM / CLMM. Xem sdk-api/rust-cpi để xem mẫu tổng quát sau khi trang này được điền đầy đủ.
Những cạm bẫy
- Số học chia phí sai lệch một. Nếu
total_sharekhông chính xác bằnglp_share + creator_share + protocol_share,Initializehoàn nguyên vớiInvalidFeeShares. ĐặttotalSharebằng tổng. - Sử dụng quote mint không được phép.
launch_config.allowed_quote_mintslà một danh sách cố định; truyền bất kỳ mint nào khác hoàn nguyên. Kiểm tra vớiraydium.launchpad.getConfig()trước. - Kích thước metadata. Các chuỗi
uridài đẩy CPI Metaplex vượt quá ngân sách. Giữuridưới ~200 ký tự — hầu hết metadata JSON được lưu trữ trên CDN phù hợp dễ dàng. - Cuộc đua graduation. Các bot tự động giám sát
quote_reserve_realvà front-runGraduatetrong một hoặc hai slot sau khi ngưỡng bị vượt qua. Điều này là lành tính — nó chỉ tốn tiền thuê của họ — nhưng điều đó có nghĩa là UI của bạn nên coi các chuyển đổistatuslà các sự kiện nhanh.
Tiếp theo đi đâu
products/launchlab/bonding-curve— toán học đường cong.products/cpmm/code-demos— những gì cần làm với pool kết quả.user-flows/launch-token-launchlab— hướng dẫn end-to-end khởi chạy token, bao gồm các bước off-chain.
- Raydium SDK v2
- Raydium LaunchLab program source

