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 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 بديهيًا.
المؤشرات
المصادر: