Solana هي أكثر السلاسل تطلباً للتشغيل بنفسك. يحتاج المدقق (validator) أو عقدة RPC الكاملة إلى معالج سريع جداً وكمية كبيرة من RAM وأقراص NVMe سريعة، وتتغير المتطلبات باستمرار. يشرح هذا الدليل ما يعنيه ذلك عملياً، لتقرر هل تحتاج إلى عقدتك الخاصة أم إلى إعداد أصغر.
مدقق أم عقدة RPC أم لا هذا ولا ذاك؟
- المدقق (Validator). يصوّت على الكتل ويحتاج إلى مواصفات العتاد الكاملة وحساب تصويت ممول واتصال دائم.
- عقدة RPC. تخدم الطلبات للتطبيقات والبوتات والمفهرسات. لا تصوّت، لكنها تحتاج إلى عتاد مماثل، ومزيداً من RAM إذا فعّلت فهارس الحسابات.
- استخدام أخف. إذا كنت ترسل بضع معاملات فقط أو تقرأ قليلاً من البيانات، فعادةً ما تكون نقطة RPC مدفوعة أرخص من تشغيل عقدة.
راجع متطلبات مدقق Solana الرسمية قبل الشراء. فهي منشورة في وثائق Solana وAgave وتتغير مع الشبكة. كدليل تقريبي، توقع مئات الجيجابايت من RAM لعقدة RPC مزدحمة وعدة أقراص NVMe سريعة. هذا من نطاق الخوادم المخصصة، لا VPS صغير. تسرد صفحة استضافة عقدة Solana لدينا الخيارات بأحجامها.
الخطوة 1: جهّز الخادم
استخدم Ubuntu LTS والخطوات في كيفية تأمين VPS جديد. أنشئ مستخدماً مخصصاً وضع دفتر الأستاذ (ledger) والحسابات على قرصي NVMe منفصلين إذا كان لديك أكثر من قرص.
sudo adduser --disabled-password --gecos "" sol
sudo mkdir -p /mnt/ledger /mnt/accounts
sudo chown -R sol:sol /mnt/ledger /mnt/accounts
الخطوة 2: رفع حدود النظام
تفتح Solana ملفات كثيرة وتستخدم خرائط ذاكرة كبيرة. أضف هذه إلى /etc/sysctl.d/21-solana.conf وإلى وحدة systemd لديك:
vm.max_map_count=1000000
net.core.rmem_max=134217728
net.core.wmem_max=134217728
# in the systemd unit:
LimitNOFILE=1000000
طبّقها بالأمر sudo sysctl --system.
الخطوة 3: تثبيت برنامج المدقق
ثبّت إصدار Agave الحالي (عميل مدقق Solana) باستخدام الطريقة الواردة في الوثائق الرسمية، وتحقق منه. ثم افحص الإصدار:
agave-validator --version
solana --version
الخطوة 4: تشغيل عقدة RPC
هذا شكل نموذجي لأمر البدء لعقدة RPC لا تصوّت. استخدم المدققين المعروفين ونقاط الدخول من الوثائق الرسمية لعنقودك (cluster).
agave-validator \
--identity /home/sol/identity.json \
--ledger /mnt/ledger \
--accounts /mnt/accounts \
--entrypoint ENTRYPOINT:8001 \
--known-validator KNOWN_VALIDATOR_PUBKEY \
--only-known-rpc \
--rpc-port 8899 \
--private-rpc \
--no-voting \
--full-rpc-api \
--limit-ledger-size \
--log /var/log/solana/validator.log
استبدل العناصر النائبة بقيم من الوثائق. يمنع --private-rpc الإعلان عن منفذ RPC للشبكة، وعليك مع ذلك إبقاءه مغلقاً عبر جدار الحماية.
الخطوة 5: راقبه وهو يلحق بالسلسلة
solana catchup --our-localhost
solana-validator --ledger /mnt/ledger monitor
يستغرق اللحاق انطلاقاً من لقطة (snapshot) من دقائق إلى ساعات. إذا تأخرت العقدة ولم تتعافَ أبداً، فعادةً يكون السبب هو القرص أو الشبكة.
جدار الحماية
اسمح بنطاق منافذ gossip وTPU الموضح في الوثائق (النطاق الافتراضي من 8000 إلى 10000) وأبقِ RPC (8899 و8900) خاصاً. ضع وكيلاً عكسياً (reverse proxy) مع مصادقة أمامه إذا اضطررت إلى خدمة RPC لأجهزة أخرى.