إصدار SX — عفريت الخادم
إصدار SX (تجربة الخادم - Server eXperience) هو العقدة الخفيفة بلا واجهة: عفريت إضافةً إلى سطر أوامر إدارة كامل، مبني للخوادم والأتمتة. الثنائي هو lightnode-sx. هذا هو خط v3.1.1 للعقدة الخفيفة (إصدارها الخاص، منفصل عن إصدار السلسلة).
التثبيت
يمكنك بناء الثنائي من المصدر أو تشغيله عبر Docker.
البناء من المصدر
تتطلب العقدة الخفيفة Go 1.26.1 وتُبنى مع تفعيل CGO، لأن التشفير ما بعد الكمّي يستخدم مكتبة أصلية (libqorepqc).
CGO_ENABLED=1 go build -o build/lightnode-sx ./cmd/lightnode-sx/
ينتج هذا build/lightnode-sx. شغِّله مباشرة، أو انسخه إلى PATH الخاص بك.
Docker
تتوفر تهيئة Docker. تُبنى خدمة SX من Dockerfile.sx:
docker compose up lightnode-sx
تحفظ حاوية SX بياناتها في وحدة تخزين مسمّاة مركَّبة عند /root/.qorechain-lightnode وتقرأ عنوان RPC للسلسلة من متغير البيئة QORECHAIN_RPC_ADDR.
التهيئة
تقرأ العقدة الخفيفة ملف إعدادات TOML. افتراضيًا تبحث عن config.toml في الدليل الرئيسي (~/.qorechain-lightnode/config.toml). عادةً لا تكتب هذا الملف يدويًا — يُنشئه لك معالج onboard — لكن من المفيد فهم الخيارات.
ينطبق علمان دائمان على كل أمر:
--config <path>— أشِر إلى ملف إعدادات في موقع غير افتراضي.--home <dir>— تجاوز الدليل الرئيسي المستخدَم للبيانات والمفاتيح (الافتراضي~/.qorechain-lightnode).
أكثر خيارات التهيئة صلةً، على مستوى الاستخدام:
| الخيار | ما يتحكم به |
|---|---|
chain_id | معرّف الشبكة (مثل qorechain-diana على شبكة الاختبار، qorechain-vladi على الشبكة الرئيسية). |
rpc_addr | نقطة نهاية RPC للسلسلة التي يتصل بها العفريت. اتركها فارغة للتشغيل في الوضع المحلي فقط. |
primary_addr / witness_addrs | نقطتا نهاية RPC الأساسية والشاهدة المستخدمتان من قبل العميل الخفيف القافز. |
trust_period / max_clock_drift | نافذة ثقة العميل الخفيف (مثل 168h) وانحراف الساعة المسموح به. |
data_dir | حيث تخزِّن العقدة قاعدة بياناتها وترويساتها. |
keyring_backend / key_name | خلفية حلقة المفاتيح (file أو os) واسم مفتاح المشغِّل. |
[delegation] | تشغيل/إيقاف المراكمة التلقائية، فترة المراكمة، الحد الأدنى للمكافأة للمطالبة، مجموعة المُدققين، أوزان التقسيم، إعادة التوازن، والحد الأدنى للسمعة. |
[telemetry] | ما إذا كان القياس عن بُعد مفعَّلًا وفترات تحديث المُدققين والشبكة والجسر واقتصاد الرمز. |
log_level / log_format | مستوى تفصيل التسجيل (debug, info, warn, error) والصيغة (text أو json). |
تفعِّل إعدادات التفويض الافتراضية المراكمة التلقائية على فترة 1h وإعادة التوازن المدركة للسمعة — راجع المكافآت والمراقبة لما تفعله هذه.
التشغيل الأول: onboard
عند أول إطلاق، سيتوقف start ويوجِّهك إلى معالج التهيئة الأولية إن لم يوجد ملف إعدادات بعد. شغِّل المعالج:
build/lightnode-sx onboard
يرشدك onboard خلال الإعداد في أربع خطوات:
- الاختبار الذاتي لـ PQC — يشغِّل دورة Dilithium-5 الكاملة (نفس فحوص
selftest). إذا فشلت حزمة PQC، يرفض المعالج المتابعة. - نقطة نهاية RPC للسلسلة — الصق رابط RPC الخاص بـ QoreChain، أو اتركه فارغًا للتشغيل في الوضع المحلي فقط بينما لا حاجة لاتصال بالسلسلة. إذا قدّمت رابطًا، يختبر المعالج إمكانية الوصول حيًّا.
- المفتاح الخاص للمُدقق — الصق مفتاحًا خاصًا بصيغة Dilithium-5 مرمَّزًا بالست عشري، أو اكتب
g(أوgenerate) لسك زوج مفاتيح جديد على هذه العقدة. - الحفظ — يكتب
config.tomlويخزِّن المفتاح في حلقة المفاتيح.
إذا تركت نقطة النهاية فارغة، يبدأ العفريت في الوضع المحلي فقط: تُمارَس حزمة PQC بالكامل، لكن العقدة لا تتزامن مع أي سلسلة. أعد تشغيل onboard بمجرد أن تكون نقطة نهاية سلسلتك جاهزة لتوجيه العقدة إليها.
يكتب onboard دائمًا فوق الإعدادات النشطة. استخدم --config للكتابة إلى مسار غير افتراضي، أو --non-interactive للفشل السريع بدلًا من المطالبة (مفيد في CI).
التشغيل: start
بمجرد أن تكتب التهيئة الأولية ملف إعدادات، ابدأ العفريت:
build/lightnode-sx start
يزامن العفريت الترويسات، ويتعقب التفويضات، ويقدم القياس عن بُعد حتى يُقاطَع. إذا أردت عمدًا البدء دون ملف إعدادات (محلي فقط، بلا RPC للسلسلة)، مرِّر --skip-onboarding-check.
التحقق من حزمة PQC: selftest
يمكنك في أي وقت التأكد من أن حزمة ما بعد الكمّي تعمل:
lightnode-sx selftest
يشغِّل selftest خمسة فحوص مقابل Dilithium-5 (ML-DSA-87) ويكتمل في أقل من ثانية:
- توليد المفاتيح — توليد زوج مفاتيح جديد.
- التوقيع — توقيع رسالة اختبارية.
- التحقق (توقيع صالح) — تأكيد أن التوقيع يتحقق بالمفتاح العام المطابق.
- رفض التوقيع المعبوث به — اقلب بايتًا من التوقيع؛ يجب أن يرفضه التحقق.
- رفض الرسالة المعبوث بها — اقلب بايتًا من الرسالة؛ يجب أن يرفضها التحقق.
إذا فشل أي فحص، يخرج الثنائي بقيمة غير صفرية مع مخرجات تشخيصية. هذا هو الاختبار نفسه الذي يشغِّله معالج التهيئة الأولية كخطوته الأولى، وهو مفيد للتحقق قبل النشر ولتشخيصات الدعم.
أوامر الإدارة
يتضمن سطر أوامر SX أوامر لفحص حالة العقدة وإدارة المفاتيح:
| الأمر | الغرض |
|---|---|
status | عرض حالة مزامنة العقدة والعميل الخفيف (معرّف السلسلة، أحدث ارتفاع، حالة اللحاق بالركب). |
keys create <name> | إنشاء مفتاح Dilithium-5 جديد. |
keys list | سرد المفاتيح في حلقة المفاتيح. |
keys import <name> <hex-privkey> | استيراد مفتاح خاص مرمَّز بالست عشري. |
keys export <name> | تصدير مفتاح خاص بالست عشري. |
register | طباعة أمر التسجيل على السلسلة لهذه العقدة — راجع التسجيل والترخيص. |
validators | سرد المُدققين المربوطين. |
delegation | عرض التفويضات الحالية من قاعدة البيانات المحلية. |
rewards | عرض مكافآت الستيكينغ المعلَّقة. |
network | عرض القياس عن بُعد للشبكة (الترويسات المتزامنة الأخيرة) من قاعدة البيانات المحلية. |
version | طباعة إصدار الثنائي. |
لتفاصيل الستيكينغ والمكافآت والمراقبة راجع المكافآت والمراقبة. للتسجيل على السلسلة، راجع التسجيل والترخيص.