このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
3つのプログラム、3つのスキーマ。 Farm v3、v5、v6 は異なるプログラムであり、異なるステート・レイアウトを持っています。このページでは各バージョンを並べて説明します。実際のところ、ほとんどの新しい統合は v6 をターゲットとしています。v3 と v5 はほとんどの統合企業にとってリードオンリーです(ステーキングはすでに遠い過去に行われており、これらのプールは段階的に廃止されています)。
アカウント一覧(ファームごと、任意のバージョン)
SDK は
raydium.farm.getFarmById でフルセットを返します。任意のサードパーティ・ファームの場合、API エンドポイント GET https://api-v3.raydium.io/main/farms/info?ids=<FARM_ID> もそれらを返します。
FarmState レイアウト — v6
v6 は現在のバージョンです。そのアカウント構造が最も汎用的です。
staking_mint、staking_vault— ステーキングの対象と保管場所。total_staked— 現在の総額。APR 計算に必須:reward_per_second × 86400 / total_staked。reward_infos[i].emission_per_second_x64— Q64.64 レート。正確な秒単位トークン数については2^64で割ります。reward_infos[i].open_time/end_time— UI の「X日残り」表示用。reward_infos[i].reward_per_share_x64—UserLedgerが相殺する対象のカウンター。
FarmState レイアウト — v5
- 秒単位ではなくスロット単位。 v5 の更新ループはウォール・クロックではなくスロットで実行します。SDK はこれを UI 向けの「秒単位」に正規化しますが、オンチェーンではスロットが単位です。
- 整数エミッション率。
reward_per_secondはu64です。これにより、秒単位の最小表現レートが 1 ユニットに制限されます。9 進数ミントでは低排出ストリームには粗すぎます。v6 は Q64.64 レートでこれを修正しました。 reward_senderなし。 v5 では所有者が暗黙のセンダーです。ownerだけがトップアップできます。
FarmState レイアウト — v3
UserLedger(v6)/ UserStake(v5/v3)
ユーザーごとのステート。(farm, user) ペアごとに 1 つのアカウント。シード PDA:
Deposit、Withdraw、または Harvest の後、債務は現在の deposited × reward_per_share_x64[i] / 2^64 にリセットされます。
権限 PDA
ボルト
ステーキング・ボルトとリワード・ボルトは標準的な SPL Token アカウントであり、そのowner はファーム権限 PDA です。アドレスは FarmState に保存されます。再導出しないでください。ステートから読み取ってください。ステーキング・ミントのフリーズ権限は v5/v6 で無効化されている必要があります(プログラムがチェックします)。
Token-2022 に関する注釈:
- v3:SPL Token のみ。
- v5:SPL Token のみ。
- v6:
staking_token_program/reward_token_programフィールドでゲートされた、ステーキングおよびリワード・ミントの両方で Token-2022 をサポートします。Token-2022 リワード・ミントの転送手数料はエミット時に課金されます(ボルト → ユーザー)。
観察と APR
ファームはオンチェーンに APR を保存しません。計算するには:staking_mint_usd_price を取得し(api-v3.raydium.io/pools/info/ids 経由)、任意の価格オラクルから reward_usd_price を取得します。
次のステップ
products/farm-staking/instructions— バージョンごとの命令リファレンス。products/farm-staking/code-demos— SDK 経由のステーキング、ハーベスト、ファーム作成。reference/program-addresses— 3 つのプログラム ID すべて。
- Raydium SDK v2
Farmmodule - Farm v6 プログラム・ソースは現在スタンドアロン・リポジトリとして公開されていません。IDL は
raydium-io/raydium-sdk-V2のsrc/raydium/farm/に以下としてバンドルされています。

