صفحات وب موزّعة

من ويكي أضِف
مراجعة 13:40، 13 أبريل 2020 بواسطة صُفارة (نقاش | مساهمات) (added Category:ورش قيد التطوير using HotCat)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)


عدّل باستمارة وصفة


عمل صفحة ويب لامركزية بأستخدام IPFS وهو بروتوكول توزيع وسائط تشعبية جديد ، يعالجه المحتوى والهويات. يتيح IPFS إنشاء تطبيقات موزعة بالكامل. ويهدف إلى جعل الويب أسرع وأكثر أمانًا وأكثر انفتاحًا.

IPFS هو نظام ملفات موزع يسعى لربط جميع أجهزة الحوسبة بنفس نظام الملفات. في بعض النواحي ، هذا مشابه للأهداف الأصلية للويب ، ولكن IPFS هو في الواقع أكثر تشابهًا مع سرب تورنت واحد يتبادل كائنات git.





الخطوة 1: تنصيب IPFS

يمكنك تنصيب go-ipfs عن طريق مدير الحزم Snap بأستخدام السطر الأتى :-

sudo snap install ipfs

 



الخطوة 2: تجهيز الملفات

يمكننا الان تجهيز اكواد الHTML و الCSS لصفحة الويب المراد استضافتها ووضعها فى Directory وليكن اسمة test


 


اول ملف نسمية index.html ونضع فيه اي اكواد HTML للتجربة


 


والملف الثانى نسمية styles.css ونضع فيه css للملف الاول


 



الخطوة 3: تشغيل عقدة IPFS

يمكنك تشغيل IPFS عن طريق الامر الاتى:


ipfs daemon



الخطوة 4: رفع الملفات الى شبكة IPFS

الان الملفات مخزنة على جهازك فى Directory اسمه test .


تشغيل الامر الاتى من terminal سوف يضيف ملفاتك الى IPFS وخلق عنوان لمحتوى الملفات.

ipfs add -r test


 

الان يمكن الوصول الى صفحة الويب عن طريق استخدام المسار الاتى

https://gateway.ipfs.io/ipfs/ your hash here



الخطوة 5: الوصول الى صفحة الويب بأستخدام بوابة الوصول

IPFS سيستضيف موقع الويب الخاص بك طالما أنه يتم الوصول إليه من قبل أقرانه الآخرين لأنه ينتشر إلى العقد الأخرى عند الوصول إليه. بالنظر إلى ذلك ، هناك عدة طرق للتأكد من إمكانية الوصول إلى موقع الويب الخاص بك في أي وقت على النحو التالي:

  • قم بتشغيل العقدة الخاصة بك واستضافتها هناك (والمساهمة في شبكة IPFS).
  • استخدم بوابة IPFS لاستضافة موقع الويب الخاص بك.

أنا شخصياً استخدمت Infura.io الأخير والمختار لاستضافة موقع الويب الخاص بي بشكل دائم. يمكنك ببساطة القيام بنفس الشيء من خلال الوصول إلى hash التي تم إنشاؤها للمحتوى الخاص بك من خلال بوابتها على النحو التالي

https://ipfs.infura.io/ipfs/ <your hash >