عن المشروع

Fuel Core هو تنفيذ عميل Fuel الرسمي، مكتوب بلغة Rust كعقدة كاملة لبروتوكول Fuel v2. يتضمن المستودع ملف العقدة التنفيذي، والحزم الداعمة، والأدوات اللازمة لبناء واختبار وتشغيل عقدة Fuel. ## إصدارات الشبكة يسرد ملف README الإصدارات المستخدمة حالياً في شبكات Fuel المختلفة: - Fuel Ignition: 0.48.1 - Testnet: 0.48.1 - Devnet: 0.48.1 كما يشير المستودع إلى وسم checkout بالإصدار v0.45.1 لتشغيل عقدة Ignition من المصدر، والذي قد يختلف عن أحدث إصدار في الجدول. ## البناء تشمل متطلبات النظام أدوات البناء الشائعة مثل cmake وpkg-config وclang وRust مع هدف `wasm32-unknown-unknown`. وتُقدَّم أوامر إعداد خاصة بكل منصة لنظام macOS (Homebrew) وDebian (apt) وArch (pacman). أوامر البناء: - `make build` لبناء ملف العقدة التنفيذي بنمط الإصدار - `cargo xtask build` لعمليات البناء التطويرية، والتي تعيد أيضاً إنشاء مخطط GraphQL ## تشغيل عقدة تشير روابط التوثيق إلى وثائق Fuel لمشغلي العقد لتشغيل عقد الشبكة الرئيسية (Ignition) أو الشبكات المحلية. ويمكن أيضاً تشغيل عقدة مباشرة باستخدام `fuel-core run`؛ وتوضح الأمثلة استخدام `--db-type in-memory` للحالة غير الدائمة و`--poa-instant=false` لتعطيل إنتاج الكتل التلقائي. قاعدة البيانات الافتراضية هي RocksDB، وتُحفظ الحالة بشكل دائم ما لم يُستخدم وضع الذاكرة. ## الاختبار والمساهمة يشجع المشروع المساهمين على تشغيل `source ci_checks.sh` قبل دفع التغييرات أو فتح طلبات السحب. يشغّل هذا السكربت جميع فحوصات CI، بما في ذلك الاختبارات. وهناك أيضاً ملاحظات لاستكشاف الأخطاء وإصلاحها تتعلق بنشر الحزم، وأخطاء قواعد البيانات القديمة (`rm -rf ~/.fuel/db`)، وحدود واصفات الملفات في macOS، وتكوين مستوى السجلات عبر `RUST_LOG` أو `HUMAN_LOGGING`. ## خدمة GraphQL تُتاح وظائف العميل عبر نقطة نهاية خدمة GraphQL على المسار `/v1/graphql`. يصبح المخطط متاحاً في `crates/client/assets/schema.sdl` بعد البناء. وتتوقع الخدمة طفرة `submit` تقبل Transaction بصيغة ثنائية مُرمَّزة بالنظام الست عشري، وفقاً لمواصفات Fuel. ## Docker وKubernetes تُضمَّن أصول النشر ضمن `deployment/`، مع Dockerfile وبيان Kubernetes. وتوضح الأوامر كيفية بناء صورة Docker وإنشاء/حذف موارد وحدة التخزين والنشر والخدمة في Kubernetes.