メインコンテンツへスキップ
このページは 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(および API 駆動型の Bonk バージョンの createBonkMintApi.ts
注:
  • initialK は二次カーブのスケール係数です。卒業時に特定のオープニング CPMM 価格をターゲットにするように調整します。導出については products/launchlab/bonding-curve を参照してください。
  • SDK は、ベースミント、メタデータ PDA、および両方のボルトを 1 つのトランザクションで作成します。メタデータ URI が長い場合は 1232 バイトを超える可能性があります。その場合、SDK は 2 つのトランザクションに分割します。
  • Initialize 後、ローンチは openTime まで取引できません。openTime を 1~2 分先に設定して、フロントランナーが最初の買収をつかむ機会を減らします。

ローンチ状態を取得する

getLaunchById はデコードされた LaunchState と、計算された「卒業に向けた進捗」分数を Decimal として返します。

買い - 正確なクォートイン

ソース:src/launchpad/buy.ts
computeBuyBase はオンチェーン Newton ソルバー(二次曲線)または閉じた形式の CPMM 逆関数(curve_type 1)を反映しています。「受け取り金額」UI フィールドを入力するために使用します。

買い - 正確なベース出力

「正確に X トークンを購入」UI に便利です。カーブが十分に移動した場合、クォート要件が maximumQuoteIn を超える場合は、ExceededSlippage で拒否されます。

売り

ソース:src/launchpad/sell.ts
カーブの売却パスは買却パスに対称です。base_soldbaseIn で減らすと、quote_outbase_sold − baseInbase_sold の間のカーブの下の統合領域から売却手数料を引いたものと同じになります。

閾値交差買収時の自動卒業

SDK は、買収後の状態が閾値を超えると検出した場合、buy* トランザクション内で Graduate 命令をチェーンします。
Graduate はパーミッションレスなため、誰でも(MEV ボットを含む)閾値が交差した後の最初の Graduate をレースして実行できます。通常、数分後ではなく数秒後です。最初のランダーは CPMM プール アカウントの賃料を支払うだけで、他の利益は得られません。

手動 Graduate

autoGraduate が無効だったか、閾値交差トランザクションが失敗した場合、卒業を別々に実行できます。
送信時に quote_reserve_real < quote_reserve_target の場合、NotAtThreshold で戻ります。再試行安全性 — 成功後の 2 番目の Graduate 試行は NotActive で戻ります。

クリエイター手数料を徴収する

ソース:src/launchpad/claimCreatorFee.ts(シングルミント)および collectAllCreatorFees.ts(バッチ)
累積されたクリエイター手数料カウンターのクォート金額をクリエイターのクォートミント上の ATA に転送します。卒業前後に呼び出し可能です。巨大な残高が蓄積するのを待つのではなく、定期的に使用します。

ローンチのライフサイクルを通じて追跡する

まとめると、監視スクリプトは次のようになります。

Rust CPI

独自の Anchor プログラムから LaunchLab を呼び出すことはまれです(ほとんどのローンチ統合は TS 側のみです)。実行する場合、プログラムは cpi::accounts::Buycpi::accounts::Sell などを備えた Anchor クレート raydium_launchlab を提供します。パターンは CPMM・CLMM CPI の例を反映しています。このサイトが入力されたら sdk-api/rust-cpi を汎用テンプレートとして参照してください。

落とし穴

  • 手数料分割の算術オフバイワン。 total_share が正確に lp_share + creator_share + protocol_share でない場合、InitializeInvalidFeeShares で戻ります。totalShare を合計と同じに設定します。
  • 許可されていないクォートミントを使用。 launch_config.allowed_quote_mints は固定リストです。他のミントを渡すと戻ります。最初に raydium.launchpad.getConfig() で確認してください。
  • メタデータサイズ。 長い uri 文字列は Metaplex CPI を予算内に押し込みます。uri を ~200 文字未満に保ちます — ほとんどの CDN でホストされている JSON メタデータは簡単にフィットします。
  • 卒業競争。 自動化ボットは quote_reserve_real を監視し、閾値交差の 1 スロット以内で Graduate をフロントランします。これは良性です — 賃料しかコストがありません — しかしそれはあなたの UI が status 遷移を高速イベントとして扱う必要があることを意味します。

次のステップ

ソース: