本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
版本資訊。
- SDK:
@raydium-io/raydium-sdk-v2@0.2.42-alpha - 叢集:Solana
mainnet-beta - 程式 ID:見
reference/program-addresses - 最後驗證:2026-04
package.json 中固定 SDK 版本。結合曲線介面在次要版本之間有所演變。設定
此處的示例對應raydium-sdk-V2-demo/src/launchpad 中的檔案。啟動程序遵循示例倉庫的 config.ts.template:
建立發行
來源:src/launchpad/createMint.ts(以及 createBonkMintApi.ts 用於 API 驅動的 Bonk 變體)
initialK是二次曲線的縮放因子。調整它以在畢業時達到特定的開盤 CPMM 價格。見products/launchlab/bonding-curve以了解推導過程。- SDK 在單一交易中處理建立基礎鑄幣、元資料 PDA 和兩個金庫。如果元資料 URI 很長,可能超過 1232 位元組;在這種情況下,SDK 會分成兩筆交易。
- 在
Initialize之後,發行在openTime之前不可交易。將openTime設定在一兩分鐘後,以減少搶先者搶先購買的機會。
取得發行狀態
getLaunchById 返回解碼後的 LaunchState 加上計算的「畢業進度」分數作為 Decimal。
買入 — 精確報價輸入
來源:src/launchpad/buy.ts
computeBuyBase 鏡像鏈上 Newton 求解器(二次曲線)或閉式 CPMM 反函數(curve_type 1)。使用它來填充「你將收到」UI 欄位。
買入 — 精確基礎輸出
maximumQuoteIn,則以 ExceededSlippage 拒絕。
賣出
來源:src/launchpad/sell.ts
base_sold 減少 baseIn 返回 quote_out 等於曲線下方在 base_sold − baseIn 和 base_sold 之間的積分面積,減去賣出費用。
在閾值交叉買入時自動畢業
SDK 在檢測到買入後狀態將跨越閾值時,在buy* 交易內鏈接 Graduate 指令:
Graduate 是無許可的,任何人(包括 MEV 機器人)都可以在閾值跨越後搶先登陸第一個 Graduate — 通常在幾秒內,而不是幾分鐘。第一個登陸者只需支付 CPMM 池帳戶的租金;他們沒有其他好處。
手動 Graduate
如果 autoGraduate 關閉或閾值交叉交易失敗,你可以單獨觸發畢業:
quote_reserve_real < quote_reserve_target,則以 NotAtThreshold 拒絕。重試安全 — 成功後的第二次 Graduate 嘗試以 NotActive 拒絕。
收取創作者費用
來源:src/launchpad/claimCreatorFee.ts(單一鑄幣)和 collectAllCreatorFees.ts(批次)
追蹤發行的整個生命週期
綜合起來,監控指令碼可能看起來像:透過 gRPC 監視設定和池
來源:src/grpc/launchpadPoolInfo.ts
透過 Yellowstone gRPC 訂閱 LaunchLab 程式,並記錄每個 GlobalConfig 和 PoolState 更新以及每個鑄幣的代幣程式。一個 accounts 訂閱上的兩個 datasize 篩選器分離兩種帳戶類型,因此單一串流涵蓋兩者。
該示例是分類發行鑄幣的最短正確參考,Token-2022 報價鑄幣版本使其成為必要:
- 池 直接從
PoolState.token_program_flag分類,為基礎鑄幣解碼 bit0,為報價鑄幣解碼 bit1,完全不進行鑄幣提取。測試整個位元組對0— 在報價鑄幣僅為舊版時足夠 — 當報價鑄幣為 Token-2022 時,將舊版基礎鑄幣誤讀為 Token-2022。 - 設定 無法以這種方式分類:
GlobalConfig儲存其報價鑄幣的地址且沒有程式標誌,因此示例讀取鑄幣帳戶的擁有者一次並按鑄幣快取它。
create 對 update 是從示例自己的快取推斷的,在啟動時從 getProgramAccounts 播種;禁用該播種後,將「create」讀作「首次在此串流上看到」。
gRPC 存取不是公共 RPC 表面的一部分 — 見示例倉庫的 src/grpc/README.md。
Rust CPI
從你自己的 Anchor 程式呼叫 LaunchLab 很少見(大多數發行整合僅在 TS 端)。如果你這樣做,程式會提供 Anchor crateraydium_launchlab,包含 cpi::accounts::Buy、cpi::accounts::Sell 等 — 模式鏡像 CPMM / CLMM CPI 示例。一旦此網站被填充,見 sdk-api/rust-cpi 以了解通用範本。
陷阱
- 費用分割算術偏差一。 如果
total_share不完全等於lp_share + creator_share + protocol_share,Initialize以InvalidFeeShares拒絕。將totalShare設定為等於總和。 - 使用不允許的報價鑄幣。
launch_config.allowed_quote_mints是固定列表;傳遞任何其他鑄幣會拒絕。首先使用raydium.launchpad.getConfig()檢查。 - 元資料大小。 長
uri字串將 Metaplex CPI 推過預算。保持uri在 ~200 個字元以下 — 大多數 CDN 託管的 JSON 元資料輕鬆適配。 - 畢業競賽。 自動化機器人監視
quote_reserve_real並在閾值交叉後的一兩個槽內搶先Graduate。這是良性的 — 它只花費他們租金 — 但這意味著你的 UI 應該將status轉換視為快速事件。
接下來去哪裡
products/launchlab/bonding-curve— 曲線數學。products/cpmm/code-demos— 如何處理結果池。user-flows/launch-token-launchlab— 端到端發行代幣指南,包括鏈下步驟。
- Raydium SDK v2
- Raydium LaunchLab 程式來源

