الانتقال إلى المحتوى الرئيسي

Documentation Index

Fetch the complete documentation index at: https://docs.raydium.io/llms.txt

Use this file to discover all available pages before exploring further.

هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
كل محتوى هذه التوثيق يفترض وجود سلسلة أدوات Solana تطوير عاملة. تسرد هذه الصفحة الأدوات والإصدارات الدنيا المعروفة بأنها تعمل مع Raydium اعتبارًا من أبريل 2026، والمشاكل المحددة في الإعداد. ابدأ من هنا قبل تشغيل أي من أمثلة الكود في الفصول اللاحقة.

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

Solana CLI

واجهة سطر الأوامر الموثوقة للتفاعل مع عناقيد Solana — إدارة المحافظ، استدعاءات RPC، نشر البرامج. التثبيت:
sh -c "$(curl -sSfL https://release.solana.com/v1.18.22/install)"
# أو الإصدار الثابت الأحدث:
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
التحقق:
solana --version   # → solana-cli 1.18.22 (أو أحدث)
الإعداد للشبكة الرئيسية:
solana config set --url https://api.mainnet-beta.solana.com
solana config set --keypair ~/.config/solana/id.json
solana-keygen new                           # إنشاء محفظة إذا لم تكن لديك واحدة
solana address                              # مفتاحك العام
لاختبار Raydium، ستحتاج دائمًا تقريبًا إلى محفظة devnet ممولة:
solana config set --url https://api.devnet.solana.com
solana airdrop 2                            # 2 SOL للاختبار

SPL Token CLI

الواجهة الرسمية لعمليات SPL Token / Token-2022 — إنشاء النعات، سك الرموز، التحويل. التثبيت (مضمن في Solana CLI):
spl-token --version
العمليات الشائعة:
spl-token create-token                                  # إنشاء نعة SPL Token
spl-token create-token --program-id TOKEN_2022 ...      # إنشاء نعة Token-2022
spl-token create-account <MINT>                         # إنشاء ATA
spl-token mint <MINT> 1000                              # سك 1000 رمز إلى ATA الخاص بك
spl-token transfer <MINT> 100 <RECIPIENT>               # نقل 100
spl-token display <ACCOUNT_OR_MINT>                     # فحص

Anchor CLI

مطلوب لجلب IDLs الخاصة بـ Raydium، وبناء العملاء، والتحقق من البرامج. التثبيت:
cargo install --git https://github.com/coral-xyz/anchor avm --locked
avm install 0.30.1
avm use 0.30.1
anchor --version
العمليات الشائعة:
anchor idl fetch <PROGRAM_ID> -o program.idl.json       # جلب IDL على السلسلة
anchor idl init -f idl.json <PROGRAM_ID>                # تحميل IDL
anchor build                                             # بناء برنامج من المصدر

إعداد TypeScript

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

الحزم

npm install \
  @solana/web3.js \
  @solana/spl-token \
  @coral-xyz/anchor \
  @raydium-io/raydium-sdk-v2 \
  bn.js \
  decimal.js
الإصدارات المعروفة بأنها تعمل معًا اعتبارًا من أبريل 2026:
الحزمةالإصدار
@solana/web3.js≥1.95
@solana/spl-token≥0.4
@coral-xyz/anchor≥0.30
@raydium-io/raydium-sdk-v2≥0.2.42-alpha

سكريبت بسيط

import { Connection, Keypair } from "@solana/web3.js";
import { Raydium } from "@raydium-io/raydium-sdk-v2";

const connection = new Connection("https://api.mainnet-beta.solana.com", "confirmed");
const owner      = Keypair.fromSecretKey(/* your key */);

const raydium = await Raydium.load({
  connection,
  owner,
  cluster:      "mainnet",
  disableFeatureCheck: true,
});

const poolInfo = await raydium.api.fetchPoolById({ id: "..." });
console.log(poolInfo);
انظر sdk-api/typescript-sdk للحصول على مرجع SDK الكامل.

إعداد Rust

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

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

rustup install 1.76.0           # أو ما يتطلبه Anchor الحالي
rustup component add rustfmt clippy
solana-install init 1.18.22     # سلسلة أدوات BPF مضمنة

Cargo.toml للبرنامج لتكامل Raydium CPI

[dependencies]
anchor-lang        = "0.30.1"
anchor-spl         = "0.30.1"
raydium-cp-swap    = { version = "0.2", features = ["cpi"] }
raydium-clmm       = { version = "0.1", features = ["cpi"] }
تستورد ميزة "cpi" وحدة cpi مع مساعدات CPI (حتى تتمكن من raydium_cp_swap::cpi::swap_base_input(...)). انظر sdk-api/rust-cpi.

إعداد Python

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

الحزم

pip install solders solana-py anchorpy
pip install raydium-py    # مكتبة Raydium المجتمعية (غير رسمية)
الإصدارات:
الحزمةالإصدار
solders≥0.21
solana-py≥0.34
anchorpy≥0.21
raydium-py≥0.2.1

سكريبت بسيط

from solana.rpc.async_api import AsyncClient
from solders.keypair import Keypair
from anchorpy import Provider, Wallet, Program

async def main():
    conn = AsyncClient("https://api.mainnet-beta.solana.com")
    owner = Keypair()
    wallet = Wallet(owner)
    provider = Provider(conn, wallet)

    # جلب IDL والبرنامج
    with open("cpmm.idl.json") as f:
        idl = json.load(f)
    program = Program(idl, CPMM_PROGRAM_ID, provider)

    pool = await program.account["PoolState"].fetch(pool_id)
    print(pool)
انظر sdk-api/python-integration.

نقاط نهاية RPC

RPC الشبكة الرئيسية العام (api.mainnet-beta.solana.com) يكون محدودًا بشدة وينخفض تحت أي حمل. للاستخدام غير البسيط، احصل على نقطة نهاية خاصة:
المزودملاحظات
Heliusالأكثر شيوعًا؛ الطبقة المجانية السخية.
Tritonمؤسسي؛ تسعير متميز، مستقر.
QuickNodeصلب؛ زمن انتظار أقل من الثانية.
عقدة RPC الخاصة بكتكلفة ~$500/شهر في الأجهزة؛ التحكم الكامل.
الإعداد:
const connection = new Connection("https://mainnet.helius-rpc.com/?api-key=...");
بعض عمليات RPC تحتاج إلى قدرات موسعة:
  • getProgramAccounts — الفحوصات غير المقيدة مكلفة؛ بعض المزودين يحدون أو يفرضون رسومًا لكل فحص.
  • getPriorityFeeEstimate — نقطة نهاية خاصة بـ Helius؛ للآخرين معادلات.
  • geyser / WebSocket streaming — مطلوب للبوتات منخفضة الكمون؛ ليس كل المزودين يوفرونه.

Devnet و localnet

Devnet

عنقود اختبار عام لـ Solana. لدى Raydium نشر جزئي على devnet:
  • توجد بعض حمامات CPMM للاختبار.
  • AMM v4 له حمامات devnet تاريخية.
  • CLMM به عدة حمامات عرض توضيحي.
  • Farm v6 مُنشر.
solana config set --url https://api.devnet.solana.com
solana airdrop 2
تدعم SDK devnet عبر cluster: "devnet":
const raydium = await Raydium.load({ connection, owner, cluster: "devnet" });
تحذير: حمامات devnet لديها سيولة رقيقة وقد تكون لديها حالة قديمة. لا تعتمد على devnet لاكتشاف السعر؛ استخدمه فقط لبناء واختبار تدفقات التعليمات.

Localnet مع حالة mainnet المنسوخة

للاختبار الواقعي، انسخ حالة mainnet إلى محقق محلي:
solana-test-validator \
  --url https://api.mainnet-beta.solana.com \
  --clone CPMMoo8L3F4NbTegBCKVNunggL7H1Zpdmwpwh8KMoZ0F \
  --clone CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK \
  --clone <SOME_POOL_ID> \
  --clone <SOME_MINT_ID>
هذا ينسخ حالة البرنامج/الحساب المحددة إلى localhost، حيث يمكنك المعاملة بحرية. مثالي ل:
  • اختبار وحدة تكامل CPI الخاص بك ضد برنامج Raydium حقيقي.
  • إعادة تشغيل معاملة بمعامل معدل لتصحيح الأخطاء.
  • اختبار الضغط بأحجام اصطناعية كبيرة.
يستخدم فريق Raydium localnet المنسوخ بكثافة لاختبار الانحدار قبل نشر mainnet.

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

بادئة تكامل TypeScript

my-raydium-app/
├── package.json
├── tsconfig.json
├── src/
│   ├── swap.ts           # مثال مبادلة
│   ├── add-liquidity.ts
│   └── read-pool.ts
└── .env                  # عنوان RPC، مسار المحفظة
package.json بسيط:
{
  "name": "my-raydium-app",
  "type": "module",
  "scripts": { "swap": "tsx src/swap.ts" },
  "dependencies": {
    "@raydium-io/raydium-sdk-v2": "^0.2.42-alpha",
    "@solana/web3.js": "^1.95",
    "@solana/spl-token": "^0.4"
  },
  "devDependencies": {
    "@types/node": "^20",
    "tsx": "^4",
    "typescript": "^5"
  }
}

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

my-raydium-cpi/
├── Anchor.toml
├── Cargo.toml
├── programs/
│   └── my-cpi/
│       ├── Cargo.toml
│       └── src/lib.rs
└── tests/
    └── my-cpi.ts
مع Anchor 0.30:
anchor init my-raydium-cpi
cd my-raydium-cpi
# أضف raydium-cp-swap إلى Cargo.toml مع features = ["cpi"]
anchor build
anchor test

أدوات CLI مفيدة

solana-keygen

solana-keygen new --outfile ./wallet.json          # توليد مفتاح
solana-keygen pubkey ./wallet.json                 # عرض المفتاح العام

قراءة أي حساب

solana account <ADDRESS> --output json-compact
مفيد لتصفح حالة الحمام دون محلل.

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

solana logs | grep CPMMoo8                         # tail سجلات المعاملات المتعلقة بـ CPMM

فحص المعاملة

solana confirm <TX_SIGNATURE> -v                   # طباعة جميلة للسجلات
أو عبر المستكشف — ألصق التوقيع وانظر إلى تبويب “Program Logs”.

نظافة البيئة

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

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

نمط .env

# .env (غير مرتكب)
SOLANA_RPC_URL=https://mainnet.helius-rpc.com/?api-key=...
WALLET_PATH=/Users/you/.config/solana/id.json
import { config } from "dotenv";
config();

const connection = new Connection(process.env.SOLANA_RPC_URL!);

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

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

المؤشرات

المصادر: