Skip to main content
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
ثلاث برامج، ثلاثة أنماط. المزرعة 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 — لعروض واجهة المستخدم “X أيام متبقية”.
  • reward_infos[i].reward_per_share_x64 — العداد الذي ينحرف عنه UserLedger.

تخطيط FarmState — v5

الاختلافات عن v6:
  • لكل فتحة، وليس لكل ثانية. حلقة تحديث v5 تعمل على الفتحات بدلاً من الساعة الحائطية. يقوم SDK بتطبيع هذا إلى “لكل ثانية” للواجهة الأمامية لكن على السلسلة الوحدة هي الفتحات.
  • معدل انبعاث صحيح. reward_per_second هو u64. هذا يحد من الحد الأدنى المعبر عنه بـ 1 وحدة في الثانية، وهو خشن جداً لتدفقات الانبعاث المنخفضة على عملات 9-عشرية. أصلحت v6 هذا بمعدل Q64.64.
  • بدون reward_sender. في v5 يكون المالك هو المرسل الضمني؛ فقط owner يمكنه زيادة الرصيد.

تخطيط FarmState — v3

مكافأة واحدة. قائم على الفتحات. أقدم جيل من البرنامج، محفوظ للمزارع RAY-USDC و SOL-USDC التي تسبق v5.

UserLedger (v6) / UserStake (v5/v3)

الحالة لكل مستخدم، حساب واحد لكل زوج (مزرعة، مستخدم). PDA بذرة:
(سلاسل البذور هي القيم المستخدمة بالفعل بواسطة SDK؛ إصدارات البرنامج قد غيرتها تاريخياً. تحقق مقابل مصدر v6 لأي شيء حساس أماناً.)
الدين لكل تدفق هو تعويض المحاسبة الموصوف في نظرة عامة:
بعد كل Deposit أو Withdraw أو Harvest، يتم إعادة تعيين الدين إلى deposited × reward_per_share_x64[i] / 2^64 الحالي.

PDAs سلطة

جميع الإصدارات الثلاثة تشتق سلطة المزرعة لكل مزرعة ببذرة واحدة. هذا PDA هو السلطة على خزانة التثبيت وعلى كل خزانة مكافأة. إنه يوقع كل نقل تقوم به المزرعة.

الخزائن

الخزائن المثبتة والمكافأة عبارة عن حسابات SPL Token قياسية يكون owner الخاص بها هو PDA سلطة المزرعة. يتم تخزين العناوين على FarmState — لا تعيد الاشتقاق؛ اقرأها من الحالة. يجب تعطيل سلطات التجميد على عملة التثبيت لـ v5/v6 (يتحقق البرنامج). ملاحظات Token-2022:
  • v3: SPL Token فقط.
  • v5: SPL Token فقط.
  • v6: يدعم Token-2022 على كل من عملات التثبيت والمكافأة، محكوم على حقول staking_token_program / reward_token_program. رسوم النقل على عملات مكافأة Token-2022 يتم تحصيلها عند الإصدار (الخزانة → المستخدم).

المراقبة و APR

لا تخزن المزارع APR على السلسلة. للحساب:
يسحب المستهلكون عادةً staking_mint_usd_price من المجمع الذي ينتمي إليه LP (عبر api-v3.raydium.io/pools/info/ids) و reward_usd_price من أي أوراكل أسعار.

أين تتجه بعد ذلك

المصادر: