Skip to main content
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
تفترض كل المعلومات في هذه التوثيق وجود سلسلة أدوات تطوير Solana تعمل بشكل صحيح. تسرد هذه الصفحة الأدوات والإصدارات المعروفة بأنها تعمل مع Raydium اعتبارًا من سبتمبر 2026، والمشاكل المحددة في الإعداد. ابدأ من هنا قبل تشغيل أي من أمثلة الكود في الفصول اللاحقة.مجموعتان من الإصدارات مهمتان، وهما ليستا متطابقتين. لـ بناء أو نسخ برامج Raydium تحتاج إلى سلسلة الأدوات الدقيقة التي تثبتها — Rust 1.91.0، Agave 3.1.10، Anchor 1.0.2 اعتبارًا من ترقية 2026-09-09. لـ التكامل ضد البرامج المنشورة من TypeScript أو Python تحتاج فقط إلى مكتبة عميل حديثة بما يكفي للتحدث معها، والتثبيتات استشارية. يحدد كل قسم أدناه الحالة التي يغطيها.

الأدوات الأساسية

Solana CLI

واجهة سطر الأوامر الرسمية للتفاعل مع مجموعات Solana — إدارة المحفظة، استدعاءات RPC، نشر البرامج. التثبيت:
التحقق:
انتقل مضيف التثبيت. كان release.solana.com تابعًا لـ Solana Labs؛ يتم الآن الحفاظ على العميل بواسطة Anza باسم Agave، والإصدارات تُقدم من release.anza.xyz. الملف الثنائي للتحديث الذاتي هو agave-install (solana-install يُحتفظ به كاسم مستعار قديم)، لذا agave-install update و agave-install init <version> هي الصيغ الحالية. توفر مستندات Solana أيضًا مثبتًا بأمر واحد يسحب CLI و Rust و Anchor معًا:
قد يسلمك هذا المثبت إصدار Anchor مختلف عن الذي تثبته برامج Raydium — تحقق من anchor --version بعد ذلك.
التكوين للشبكة الرئيسية:
لاختبار Raydium، ستريد دائمًا محفظة devnet ممولة:

SPL Token CLI

واجهة سطر الأوامر الرسمية لعمليات SPL Token / Token-2022 — إنشاء mints، صك الرموز، التحويل. التثبيت (مضمن مع Solana CLI):
العمليات الشائعة:

Anchor CLI

مطلوب لجلب IDLs الخاصة بـ Raydium، وبناء العملاء، والتحقق من البرامج. التثبيت:
انتقل Anchor إلى مستودع وإصدار رئيسي جديد. المستودع الرسمي الآن github.com/solana-foundation/anchor (كان coral-xyz/anchor)، و Anchor 1.0 هو أول سطر إصدار تستخدمه برامج Raydium — يثبت كل من CPMM و LaunchLab anchor-lang/anchor-spl =1.0.2 اعتبارًا من ترقية 2026-09-09، بارتفاع من 0.32.1. يمكن لـ avm الاحتفاظ بعدة إصدارات؛ avm use 1.0.2 هو ما يجعل anchor build يعيد إنتاج القطع الأثرية الخاصة بـ Raydium. يوجد Anchor 1.1 و 1.2 ويبنيان بشكل جيد لبرامجك الخاصة، لكن صندوق CPI مترجم ضد anchor-lang ثانوي مختلف عن الذي يثبته البرنامج الهدف لن يرتبط — انظر sdk-api/rust-cpi.
العمليات الشائعة:

إعداد TypeScript

مسار التكامل الأساسي لـ Raydium.

الحزم

الإصدارات المعروفة بأنها تعمل معًا اعتبارًا من سبتمبر 2026:
@anchor-lang/core مجمد؛ الحزمة الآن @anchor-lang/core. توقف @anchor-lang/core عند 0.32.1 عندما انتقل Anchor إلى Solana Foundation. ينشر Anchor 1.x باسم @anchor-lang/core، وحولت مستودعات برامج Raydium الخاصة بها مجموعات الاختبار إليه في ترقية 2026-09-09. الواردات التي تستخدمها فعليًا لم تتغير — import { Program, BN, AnchorProvider } from "@anchor-lang/core" — لذا الترحيل هو إعادة تسمية الحزمة بالإضافة إلى تحديث ملف القفل.ملاحظتان سلوكيتان إذا كنت تنتقل من 0.3x: .accounts({...}) الآن يقبل فقط الحسابات التي لا يمكن لـ Anchor حلها بنفسه، لذا يجب على المنشئ الذي يمرر المجموعة الكاملة استدعاء .accountsPartial({...}) بدلاً من ذلك؛ و @anchor-lang/core/dist/cjs/utils/token هو حيث انتقلت المساعدات مثل ASSOCIATED_PROGRAM_ID.

سكريبت بسيط

انظر sdk-api/typescript-sdk للحصول على مرجع SDK الكامل.

إعداد Rust

للتكامل CPI والبرامج على السلسلة.

سلسلة الأدوات

بناء البرامج باستخدام cargo build-sbf (الصيغة القديمة cargo build-bpf اختفت).

Program Cargo.toml لتكامل Raydium CPI

ثبّت anchor-lang و anchor-spl باستخدام = للإصدار الذي يثبته البرنامج الهدف. اعتبارًا من 2026-09 يثبت CPMM =1.0.2 و CLMM لا يزال يثبت =0.32.1، لذا لا يمكن لصندوق واحد أن يقوم بـ CPI في كليهما — انظر sdk-api/rust-cpi. ميزة "cpi" تستورد وحدة cpi مع مساعدات CPI (حتى تتمكن من raydium_cp_swap::cpi::swap_base_input(...)). انظر sdk-api/rust-cpi.

إعداد Python

مسار التكامل الثانوي — شائع لمطوري البوتات.

الحزم

الإصدارات:
فخان تسمية. يتم استيراد عميل RPC باسم solana لكن المشروع يُسمى solana-pypip install solana-py لا يثبت أي شيء مفيد. وليس هناك حزمة raydium-py على PyPI: مساعد Raydium المجتمعي هو مستودع تستنسخه، AL-THE-BOT-FATHER/raydium_py، وليس توزيعًا منشورًا. قائمة الإصدارات السابقة من هذه الصفحة pip install raydium-py التي لم تعمل أبدًا.

سكريبت بسيط

انظر sdk-api/python-integration.

نقاط نهاية RPC

RPC الشبكة الرئيسية العام (api.mainnet-beta.solana.com) محدود بشدة ويخنق تحت أي حمل. للاستخدام غير التافه، احصل على نقطة نهاية خاصة: التكوين:
بعض عمليات RPC تحتاج إلى قدرات موسعة:
  • getProgramAccounts — المسح غير المقيد مكلف؛ بعض المزودين يحدون أو يفرضون رسومًا لكل مسح.
  • getPriorityFeeEstimate — نقطة نهاية خاصة بـ Helius؛ للآخرين معادلات.
  • geyser / WebSocket streaming — مطلوب للبوتات منخفضة الكمون؛ لا جميع المزودين يكشفونها.

Devnet و localnet

Devnet

مجموعة اختبار عام Solana. لدى Raydium نشر devnet جزئي:
  • توجد بعض حمامات CPMM للاختبار.
  • AMM v4 لديه حمامات devnet تاريخية.
  • CLMM لديه بعض حمامات العرض التوضيحي.
  • Farm v6 مُنشر.
يدعم SDK devnet عبر cluster: "devnet":
تحذير: حمامات devnet لديها سيولة رقيقة وقد تحتوي على حالة قديمة. لا تعتمد على devnet لاكتشاف الأسعار؛ استخدمه لبناء واختبار تدفقات التعليمات فقط.

Localnet مع حالة mainnet مشعبة

للاختبار الواقعي، شعب حالة mainnet إلى محقق محلي:
هذا ينسخ حالة برنامج/حساب محددة إلى localhost، حيث يمكنك التعامل بحرية. مثالي لـ:
  • اختبار وحدة تكامل CPI الخاص بك ضد برنامج Raydium حقيقي.
  • إعادة تشغيل معاملة مع معامل معدل للتصحيح.
  • اختبار الإجهاد مع أحجام اصطناعية كبيرة.
يستخدم فريق Raydium localnet مشعب على نطاق واسع لاختبار الانحدار قبل نشر mainnet.

قوالب المشروع

مبدئ تكامل TypeScript

package.json بسيط:

مبدئ برنامج Anchor CPI

مع Anchor 1.0:

أدوات CLI مفيدة

solana-keygen

قراءة أي حساب

مفيد لفحص حالة المجموعة دون فك تشفير.

سجلات البرنامج

فحص المعاملة

أو عبر المستكشف — الصق التوقيع وانظر إلى علامة التبويب “Program Logs”.

نظافة البيئة

محافظ منفصلة لكل غرض

  • محفظة التطوير: تحتفظ بـ testnet SOL، تُستخدم للبناء.
  • محفظة الإنتاج: تحتفظ بـ SOL حقيقي، تُستخدم فقط للنشر / تقديمات multisig.
  • محفظة ساخنة للبوتات: رصيد صغير، أذونات ضيقة.
لا يجب أبدًا ترميز المفاتيح بشكل ثابت. استخدم متغيرات البيئة أو مديري الأسرار.

نمط .env

تثبيت الإصدار

قفل جميع تبعيات نظام Solana البيئي. يتحرك النظام البيئي بسرعة؛ قد يقدم تحديث الإصدار الثانوي لـ @solana/web3.js تغييرات كسر سابقة. استخدم package-lock.json / Cargo.lock بدينة.

مؤشرات

المصادر: