هذا هو الإصدار الأول الموسوم من ADAMANT IPFS Node، وأول صورة حاوية منشورة. وهي عقدة تخزين IPFS ذاتية الاستضافة لتوصيل ملفات التطبيقات، تتميز بحدود لاستخدام القرص، ونسخ متماثل حتمي، وإصلاح، ونقاط فحص للصحة، وواجهة برمجة تطبيقات REST. وهي خدمة مستقلة تعتمد على Node.js وHelia، وليست مجرد غلاف حول Kubo.
التشغيل
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
لا تتضمن الصورة أي إعدادات افتراضية؛ لذا يجب تحميل ملف إعدادات في المسار /app/config.json5. المجلد HOME هو /data؛ لذا فإن وحدة تخزين واحدة /data تحتوي على مخزن الكتل (blockstore)، ومخزن البيانات (datastore)، وهوية النظير في libp2p، ومجموعة التثبيت (pin set)، وسجل دورة الحياة، ومؤشر الإصلاح، ونقطة فحص الصحة. يعد ملف docker/config.example.json5 الموجود في المستودع نقطة بداية مستقلة لا تنضم إلى أي شبكة. تم بناء الصورة لتعمل على معماريات linux/amd64 و linux/arm64 كمستخدم غير متميز، مع إرفاق قائمة مواد البرمجيات (SBOM) وشهادة المصدر.
المحتويات
توفر العقدة إمكانية رفع الملفات متعددة الأجزاء عبر REST، وتنزيل المحتوى المعتمد على العنوان باستخدام CID. وهي تحافظ على شبكة نظراء محكومة عبر بروتوكول TCP باستخدام Noise وYamux، مع تسجيل بروتوكولات identify و ping فقط. يتم تحديد دورة حياة التخزين من خلال احتياطي القرص، وحدود الطلبات الإجمالية، والرفع المؤقت مع فترة صلاحية (TTL)، وجمع القمامة (garbage collection) القائم على العلامات المائية. التنسيب حتمي باستخدام خوارزمية rendezvous hashing، مع تقليل عدد النسخ كلما تقادم الملف. تعمل عمليات النسخ المتماثل بين العقد ودورة الإصلاح القابلة للاستئناف عبر بروتوكول libp2p الموثق بواسطة المصافحة (handshake). تحمل نقاط فحص الصحة المدركة للشبكة ارتفاعاً رتيباً (monotonic height) وحقبة عضوية صريحة. يتم تطبيق حدود المعدل لكل نقطة نهاية (endpoint) والتحكم في القبول على عمليات الرفع والتنزيل المتزامنة.
الحدود
لا توجد جداول تجزئة موزعة (DHT)، ولا IPNS، ولا بوابة عامة، ولا واجهة برمجة تطبيقات Kubo. المحتوى المخزن هنا لا يتم الإعلان عنه في شبكة IPFS العامة، ولا يمكن جلب المحتوى الموجود فقط على الشبكة العامة من خلال هذه العقدة. تقلل طوبولوجيا النظراء المحكومة من التعرض العام للبيانات الوصفية لتوجيه المحتوى، لكنها لا تجعل النشر خاصاً أو مجهولاً أو غير موثوق أو مقاوماً للرقابة بحد ذاتها. تم تصميم عمليات الرفع والتنزيل لتكون غير موثقة؛ حيث أن الاعتماد الوحيد هو مفتاح إداري واحد. لا تزال الميزات التالية قيد العمل: الحذف الموقع من قبل الرافع (#27)، واكتشاف النظراء (#28)، ومحاسبة حركة المرور (#29)، ودليل بيانات مطلق (#30)، وقابلية التشغيل البيني مع الشبكة العامة (#31).