مرجع الإعدادات

الخدمات

يعني تشغيل نسخة من القنوات الخاصة امتلاك خدمات Docker Compose التالية:

الحاويةالدور
private-channel-postgres-primaryقاعدة بيانات حالة عقدة الكتابة (PostgreSQL 16)
private-channel-postgres-replicaقاعدة بيانات حالة عقدة القراءة (نسخة متدفقة)
private-channel-postgres-indexerقاعدة بيانات المفهرس والمشغّل
private-channel-write-nodeيستقبل المعاملات وينفّذها (المنفذ 8900، حلقة الاسترداد فقط)
private-channel-read-nodeيعالج استعلامات القراءة عبر RPC (المنفذ 8901، حلقة الاسترداد فقط)
private-channel-gatewayيوجّه الطلبات بين عقدتَي الكتابة والقراءة؛ يُطبّق RBAC (المنفذ 8899)
private-channel-indexer-solanaيراقب سولانا بحثاً عن أحداث Deposit عبر Yellowstone gRPC
private-channel-indexer-private-channelيراقب القناة بحثاً عن أحداث Burn عبر استطلاع RPC
private-channel-operator-solanaيصدر رموز القناة عند تأكيد الإيداعات
private-channel-operator-private-channelيستدعي ReleaseFunds على الشبكة الرئيسية عند تأكيد عمليات السحب
private-channel-authخدمة JWT/RBAC اختيارية (ملف تعريف Docker: auth)

حاويات المراقبة (prometheus، grafana، cadvisor) مضمّنة أيضاً.

البوابة

تحتوي هذه الإعدادات على قيم افتراضية مناسبة لإعداد Docker Compose على devnet. قم بتجاوزها فقط عند تشغيل البوابة خارج Docker أو النشر على بيئة الإنتاج.

متغير البيئةالقيمة الافتراضيةمطلوبالوصف
GATEWAY_PORT8899 (devnet)لامنفذ الاستماع
GATEWAY_WRITE_URLhttp://write-node:8900 (قيمة ملف بيئة devnet؛ لا قيمة افتراضية ثنائية)نعمعنوان URL لعقدة الكتابة - يتم توجيه sendTransaction هنا
GATEWAY_READ_URLhttp://read-node:8901 (قيمة ملف بيئة devnet؛ لا قيمة افتراضية ثنائية)نعمعنوان URL لعقدة القراءة - يتم توجيه جميع طرق RPC الأخرى هنا
GATEWAY_CORS_ALLOWED_ORIGIN*لاقيمة رأس Access-Control-Allow-Origin
JWT_SECRET-لايُفعّل RBAC؛ يجب أن يتطابق مع JWT_SECRET الخاص بخدمة المصادقة
AUTH_DATABASE_URL-إذا تم تعيين JWT_SECRETقاعدة بيانات المصادقة للتحقق من ملكية المحفظة
AUTH_DATABASE_MAX_CONNECTIONS10لاحجم مجموعة اتصالات قاعدة بيانات المصادقة
METRICS_PORT9101لامنفذ مقاييس Prometheus
RUST_LOGinfoلامستوى السجل

GATEWAY_WRITE_URL وGATEWAY_READ_URL يستخدمان أسماء مضيفي خدمة Docker Compose (write-node، read-node) عند التشغيل داخل Docker. استخدم مكافئات localhost فقط عند تشغيل الملف الثنائي للبوابة مباشرةً خارج Docker.

القيمة الافتراضية المضمّنة في الملف الثنائي للبوابة لـGATEWAY_PORT هي 8898. يضبط كلٌّ من .env.example و.env.devnet القيمة على 8899، وهي ما يستخدمه إعداد Docker Compose فعلياً (versions.env يحتوي فقط على إصدارات سلسلة الأدوات والصور، وليس منافذ الخدمات). تنطبق القيمة الافتراضية 8898 فقط عند تشغيل الملف الثنائي مباشرةً دون ملف بيئة.

القيمة الافتراضية لـGATEWAY_CORS_ALLOWED_ORIGIN هي *، مما يسمح لأي مصدر بالاتصال بالبوابة من المتصفح. قيّد هذا بالمصدر الفعلي لتطبيقك قبل أي نشر على بيئة الإنتاج.

عقدة الكتابة وعقدة القراءة

يتوفر مرجع إعدادات عقدة الكتابة وعقدة القراءة الكامل في docs/CONFIG.md داخل المستودع.

خدمة المصادقة

متغير البيئةمطلوبالوصف
JWT_SECRETنعممفتاح التوقيع HS256؛ يجب أن يتطابق مع JWT_SECRET الخاص بالبوابة
AUTH_PORTلا (الافتراضي 8903)منفذ الاستماع
AUTH_DATABASE_URLنعمسلسلة اتصال PostgreSQL لقاعدة بيانات المصادقة
CORS_ALLOWED_ORIGINلا (الافتراضي *)قيمة رأس Access-Control-Allow-Origin لهذه الخدمة (مستقلة عن GATEWAY_CORS_ALLOWED_ORIGIN الخاصة بالبوابة)
AUTH_DATABASE_MAX_CONNECTIONSلا (الافتراضي 10)حجم مجموعة اتصالات قاعدة بيانات المصادقة

مرجع منافذ الخدمات

الخدمةمنفذ المضيفالربط
البوابة8899جميع الواجهات
عقدة الكتابة8900حلقة الاسترداد فقط
عقدة القراءة8901حلقة الاسترداد فقط
المدفق8902داخلي فقط (expose، غير منشور للمضيف)؛ ليس جزءاً من حزمة devnet
خدمة المصادقة8903جميع الواجهات
مقاييس المشغّل9102, 9103جميع الواجهات
Grafana37429جميع الواجهات
Prometheus9090جميع الواجهات
cAdvisor8080جميع الواجهات

ملاحظة أمنية: منافذ عقدة الكتابة وعقدة القراءة مرتبطة بحلقة الاسترداد (127.0.0.1) فقط. البوابة وخدمة المصادقة ومقاييس المشغّل وGrafana وPrometheus وcAdvisor كلها منشورة على كل واجهات الشبكة في إعداد Docker Compose على devnet. قم بتأمينها بجدار حماية على مستوى المضيف أو الشبكة لأي بيئة تتجاوز التطوير المحلي؛ يغطي RBAC فقط طرق JSON-RPC الخاصة بالبوابة، وليس هذه الخدمات الأخرى. المدفق هو الاستثناء: فهو تغذية داخلية غير مصادَق عليها لا ينشرها Docker للمضيف أبداً.

متطلبات الشبكة

راجع docs/TECHNICAL_REQUIREMENTS.md في المستودع للاطلاع على قواعد جدار الحماية ومتطلبات النطاق الترددي.

Is this page helpful?

جدول المحتويات

تعديل الصفحة