عقدة ADAMANT IPFS الإصدار 0.1.0: التخزين المحدود والنسخ المتماثل الحتمي
الإصدار الأول من عقدة ADAMANT IPFS متاح الآن برقم 0.1.0، مع توفر صورة الحاوية على ghcr.io/adamant-im/ipfs-node:0.1.0. يعمل هذا التطبيق المستقل القائم على Node.js وHelia كعقدة تخزين IPFS لتسليم ملفات التطبيقات. وهو ليس غلافاً لـ Kubo ولا يكشف عن واجهة برمجة تطبيقات متوافقة مع Kubo. وعلى الرغم من أن ADAMANT Messenger هو النشر المرجعي، إلا أنه يمكن لأي تطبيق استضافة العقدة ذاتياً.
يكشف وقت تشغيل الخدمة عن واجهة برمجة تطبيقات Express عبر اثني عشر مساراً موثقاً، بما في ذلك الصحة، والتفاصيل الإدارية، والتحميل متعدد الأجزاء، والتنزيل بواسطة CID، ومقاييس التخزين. يتم فرض فئات الوصول مركزياً، ويفشل مفتاح المسؤول في حالة الإغلاق (fails closed)، وتعد CORS قائمة سماح صريحة. يتميز دورة حياة التخزين بسجل ملفات مدعوم بمخزن بيانات مع آلة حالة متينة، واحتياطي قرص، وميزانية استيعاب، وتحميلات مؤقتة مع TTL، وجمع القمامة المدفوع بعلامات مائية. يستخدم التنسيب تجزئة rendezvous حتمية عبر مجموعة الأقران المكونة، مع تقلص عدد النسخ حسب عمر الملف. يعمل النسخ المتماثل عبر بروتوكولات ذات إصدارات مع مراحل التحضير والالتزام والتراجع. تتعقب كل جلسة تحميل الكتل التي تم إنشاؤها، مما يضمن إزالة تلك الكتل تحديداً في حالة الطلبات المرفوضة أو المجهضة.
نقاط فحص الصحة مدركة للشبكة مع ارتفاع رتيب مستمر وعصر عضوية صريح، ولا تقبل الشهادات إلا من الأقران المكونين. تشمل تحسينات موثوقية الشبكة فحوصات حيوية دورية عبر libp2p ping مع إعادة تعيين الجلسة عند الفشل واسترداد تفاعلي بعد أخطاء تدفق النسخ المتماثل القديمة. تقدم تحديثات CORS ورموز الخطأ أصلاً اختيارياً دقيقاً لسطح المكتب app://.، وقيم code قابلة للقراءة آلياً، وبطاقات بدل http(s)://*.onion مقصورة على أشكال الخدمة المخفية v3 لتوافق متصفح Tor.
تم بناء الحاوية على node:24.13.0-bookworm-slim باستخدام ملف Docker متعدد المراحل. وهي تعمل كمستخدم node غير متميز مع HOME=/data، مما يسمح لمجلد واحد باحتواء مخزن الكتل، ومخزن البيانات، وهوية الأقران، والدبابيس، والسجل، ومؤشر الإصلاح، ونقطة فحص الصحة. يتم شحن الصورة بدون تكوين؛ يجب على المشغلين تثبيت واحد في /app/config.json5. تم نشرها لـ linux/amd64 و linux/arm64 مع SBOM وشهادة المصدر.
تتجنب العقدة صراحةً DHT وIPNS والبوابات العامة وواجهات برمجة تطبيقات Kubo. لا يتم الإعلان عن المحتوى المخزن لشبكة IPFS العامة، ولا يمكن جلب محتوى الشبكة العامة من خلال هذه العقدة. تقلل طوبولوجيا الأقران الخاضعة للرقابة من التعرض العام لبيانات توجيه المحتوى ولكنها لا تجعل النشر خاصاً أو مجهولاً أو غير موثوق به أو مقاوماً للرقابة بطبيعته. التحميل والتنزيل غير مصادق عليهما حسب التصميم، مع مفتاح إداري واحد كاعتماد وحيد. تشمل الأعمال المفتوحة الحذف الموقع من قبل المحمل، واكتشاف الأقران، ومحاسبة حركة المرور، ودليل البيانات المطلق، والتشغيل البيني للشبكة العامة.
لتشغيل العقدة، قم بإنشاء مجلد بيانات وابدأ الحاوية بالتكوين المناسب وتعيينات المنافذ:
docker volume create ipfs-node-data
docker run -d \
--name ipfs-node \
--restart unless-stopped \
--stop-timeout 20 \
-v ipfs-node-data:/data \
-v "$PWD/config.json5:/app/config.json5:ro" \
-p 127.0.0.1:4000:4000 \
-p 4001:4001 \
ghcr.io/adamant-im/ipfs-node:0.1.0
تم التحقق من الإصدار من خلال التكامل المستمر (CI)، وعمليات التدقيق الأمني، واختبارات الدخان للحاوية على كلا البنيتين. يؤكد سير عمل النشر أن العلامة هي سلف لـ master، وتتطابق مع إصدار package.json، ويتم إعادة البناء مع تسميات OCI وSBOM والمصدر قبل اختبار دخان ثانٍ.