> ## 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.

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

> إعداد العمل الأدنى لقراءة حالة Raydium على السلسلة، وبناء المعاملات، والتطوير ضد البرامج. Solana CLI، Anchor، والمكتبات البرمجية في TypeScript و Python، وتلميحات devnet/localnet.

<Info>
  **هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.**

  [عرض النسخة الإنجليزية →](/solana-fundamentals/toolchain)
</Info>

<Info>
  كل محتوى هذه التوثيق يفترض وجود سلسلة أدوات Solana تطوير عاملة. تسرد هذه الصفحة الأدوات والإصدارات الدنيا المعروفة بأنها تعمل مع Raydium اعتبارًا من أبريل 2026، والمشاكل المحددة في الإعداد. ابدأ من هنا قبل تشغيل أي من أمثلة الكود في الفصول اللاحقة.
</Info>

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

### Solana CLI

واجهة سطر الأوامر الموثوقة للتفاعل مع عناقيد Solana — إدارة المحافظ، استدعاءات RPC، نشر البرامج.

التثبيت:

```bash theme={null}
sh -c "$(curl -sSfL https://release.solana.com/v1.18.22/install)"
# أو الإصدار الثابت الأحدث:
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
```

التحقق:

```bash theme={null}
solana --version   # → solana-cli 1.18.22 (أو أحدث)
```

الإعداد للشبكة الرئيسية:

```bash theme={null}
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 ممولة:

```bash theme={null}
solana config set --url https://api.devnet.solana.com
solana airdrop 2                            # 2 SOL للاختبار
```

### SPL Token CLI

الواجهة الرسمية لعمليات SPL Token / Token-2022 — إنشاء النعات، سك الرموز، التحويل.

التثبيت (مضمن في Solana CLI):

```bash theme={null}
spl-token --version
```

العمليات الشائعة:

```bash theme={null}
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، وبناء العملاء، والتحقق من البرامج.

التثبيت:

```bash theme={null}
cargo install --git https://github.com/coral-xyz/anchor avm --locked
avm install 0.30.1
avm use 0.30.1
anchor --version
```

العمليات الشائعة:

```bash theme={null}
anchor idl fetch <PROGRAM_ID> -o program.idl.json       # جلب IDL على السلسلة
anchor idl init -f idl.json <PROGRAM_ID>                # تحميل IDL
anchor build                                             # بناء برنامج من المصدر
```

## إعداد TypeScript

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

### الحزم

```bash theme={null}
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 |

### سكريبت بسيط

```ts theme={null}
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`](/ar/sdk-api/typescript-sdk) للحصول على مرجع SDK الكامل.

## إعداد Rust

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

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

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

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

```toml theme={null}
[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`](/ar/sdk-api/rust-cpi).

## إعداد Python

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

### الحزم

```bash theme={null}
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  |

### سكريبت بسيط

```python theme={null}
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`](/ar/sdk-api/python-integration).

## نقاط نهاية RPC

RPC الشبكة الرئيسية العام (`api.mainnet-beta.solana.com`) يكون محدودًا بشدة وينخفض تحت أي حمل. للاستخدام غير البسيط، احصل على نقطة نهاية خاصة:

| المزود             | ملاحظات                                      |
| ------------------ | -------------------------------------------- |
| Helius             | الأكثر شيوعًا؛ الطبقة المجانية السخية.       |
| Triton             | مؤسسي؛ تسعير متميز، مستقر.                   |
| QuickNode          | صلب؛ زمن انتظار أقل من الثانية.              |
| عقدة RPC الخاصة بك | تكلفة \~\$500/شهر في الأجهزة؛ التحكم الكامل. |

الإعداد:

```ts theme={null}
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 مُنشر.

```bash theme={null}
solana config set --url https://api.devnet.solana.com
solana airdrop 2
```

تدعم SDK devnet عبر `cluster: "devnet"`:

```ts theme={null}
const raydium = await Raydium.load({ connection, owner, cluster: "devnet" });
```

**تحذير**: حمامات devnet لديها سيولة رقيقة وقد تكون لديها حالة قديمة. لا تعتمد على devnet لاكتشاف السعر؛ استخدمه فقط لبناء واختبار تدفقات التعليمات.

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

للاختبار الواقعي، انسخ حالة mainnet إلى محقق محلي:

```bash theme={null}
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` بسيط:

```json theme={null}
{
  "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:

```bash theme={null}
anchor init my-raydium-cpi
cd my-raydium-cpi
# أضف raydium-cp-swap إلى Cargo.toml مع features = ["cpi"]
anchor build
anchor test
```

## أدوات CLI مفيدة

### `solana-keygen`

```bash theme={null}
solana-keygen new --outfile ./wallet.json          # توليد مفتاح
solana-keygen pubkey ./wallet.json                 # عرض المفتاح العام
```

### قراءة أي حساب

```bash theme={null}
solana account <ADDRESS> --output json-compact
```

مفيد لتصفح حالة الحمام دون محلل.

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

```bash theme={null}
solana logs | grep CPMMoo8                         # tail سجلات المعاملات المتعلقة بـ CPMM
```

### فحص المعاملة

```bash theme={null}
solana confirm <TX_SIGNATURE> -v                   # طباعة جميلة للسجلات
```

أو عبر [المستكشف](https://explorer.solana.com) — ألصق التوقيع وانظر إلى تبويب "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
```

```ts theme={null}
import { config } from "dotenv";
config();

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

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

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

## المؤشرات

* [`sdk-api/typescript-sdk`](/ar/sdk-api/typescript-sdk) — مرجع TypeScript SDK.
* [`sdk-api/rust-cpi`](/ar/sdk-api/rust-cpi) — استخدام Rust CPI.
* [`sdk-api/python-integration`](/ar/sdk-api/python-integration) — إعداد Python.
* [`solana-fundamentals/programs-and-anchor`](/ar/solana-fundamentals/programs-and-anchor) — خلفية Anchor.

المصادر:

* [Solana install docs](https://docs.solana.com/cli/install-solana-cli-tools).
* [Anchor book: getting started](https://book.anchor-lang.com/getting_started/installation.html).
* [Raydium SDK v2 repo](https://github.com/raydium-io/raydium-sdk-V2).
