تخطي إلى المحتوى الرئيسي

⁦IPFS⁩ لواجهات المستخدم اللامركزية

ipfs
التطبيقات اللامركزية
الواجهة الأمامية
مبتدئ
أوري بوميرانتس
29 يونيو 2024
4 دقيقة للقراءة

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

يمكنك استخدام خدمة تابعة لجهة خارجية مثل Fleek (يفتح في علامة تبويب جديدة) للقيام بكل العمل. هذا البرنامج التعليمي مخصص للأشخاص الذين يرغبون في القيام بما يكفي لفهم ما يفعلونه حتى لو كان ذلك يتطلب المزيد من العمل.

البدء محليًا

هناك العديد من مزودي IPFS من جهات خارجية (يفتح في علامة تبويب جديدة)، ولكن من الأفضل البدء بتشغيل IPFS محليًا للاختبار.

  1. قم بتثبيت واجهة مستخدم IPFS (يفتح في علامة تبويب جديدة).

  2. قم بإنشاء دليل يحتوي على موقع الويب الخاص بك. إذا كنت تستخدم Vite (يفتح في علامة تبويب جديدة)، فاستخدم هذا الأمر:

    pnpm vite build
    
  3. في تطبيق IPFS Desktop، انقر على Import > Folder (استيراد > مجلد) وحدد الدليل الذي أنشأته في الخطوة السابقة.

  4. حدد المجلد الذي قمت بتحميله للتو وانقر على Rename (إعادة تسمية). امنحه اسمًا ذا معنى أكبر.

  5. حدده مرة أخرى وانقر على Share link (مشاركة الرابط). انسخ عنوان URL إلى الحافظة. سيكون الرابط مشابهًا لـ https://ipfs.io/ipfs/QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ.

  6. انقر على Status (الحالة). قم بتوسيع علامة التبويب Advanced (متقدم) لرؤية عنوان البوابة. على سبيل المثال، العنوان على نظامي هو http://127.0.0.1:8080.

  7. اجمع المسار من خطوة الرابط مع عنوان البوابة للعثور على عنوانك. على سبيل المثال، بالنسبة للمثال أعلاه، عنوان URL هو http://127.0.0.1:8080/ipfs/QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ. افتح عنوان URL هذا في متصفح لرؤية موقعك.

التحميل

لذا يمكنك الآن استخدام IPFS لتقديم الملفات محليًا، وهو أمر ليس مثيرًا للغاية. الخطوة التالية هي جعلها متاحة للعالم عندما تكون غير متصل بالإنترنت.

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

شخصيًا، وجدت أن 4EVERLAND (يفتح في علامة تبويب جديدة) هي الأسهل في الاستخدام. إليك التوجيهات الخاصة بها:

  1. تصفح إلى لوحة التحكم (يفتح في علامة تبويب جديدة) وسجل الدخول باستخدام محفظتك.

  2. في الشريط الجانبي الأيسر، انقر على Storage > 4EVER Pin.

  3. انقر على Upload > Selected CID. امنح محتواك اسمًا وقدم معرف المحتوى (CID) من تطبيق IPFS Desktop. في الوقت الحاضر، معرف المحتوى (CID) عبارة عن سلسلة تبدأ بـ Qm متبوعة بـ 44 حرفًا ورقمًا تمثل تجزئة مشفرة بـ base-58 (يفتح في علامة تبويب جديدة)، مثل QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ، ولكن من المرجح أن يتغير ذلك (يفتح في علامة تبويب جديدة).

  4. الحالة الأولية هي Queued (في قائمة الانتظار). أعد التحميل حتى تتغير إلى Pinned (مثبت).

  5. انقر على معرف المحتوى (CID) الخاص بك للحصول على الرابط. يمكنك رؤية تطبيقي هنا (يفتح في علامة تبويب جديدة).

  6. قد تحتاج إلى تفعيل حسابك لإبقائه مثبتًا لأكثر من شهر. تبلغ تكلفة تفعيل الحساب حوالي $1. إذا قمت بإغلاقه، فقم بتسجيل الخروج وتسجيل الدخول مرة أخرى ليُطلب منك التفعيل مرة أخرى.

الاستخدام من IPFS

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

بمجرد تثبيت ذلك (وعمل تطبيق IPFS Desktop)، يمكنك الانتقال إلى /ipfs/<CID> (يفتح في علامة تبويب جديدة) على أي موقع وستحصل على هذا المحتوى، مقدمًا بطريقة لامركزية.

العيوب

لا يمكنك حذف ملفات IPFS بشكل موثوق، لذلك طالما أنك تقوم بتعديل واجهة المستخدم الخاصة بك، فمن الأفضل على الأرجح إما تركها مركزية، أو استخدام نظام الأسماء بين الكواكب (IPNS) (يفتح في علامة تبويب جديدة)، وهو نظام يوفر قابلية التغيير فوق IPFS. بالطبع، يمكن فرض الرقابة على أي شيء قابل للتغيير، وفي حالة IPNS يتم ذلك عن طريق الضغط على الشخص الذي يمتلك المفتاح الخاص الذي يتوافق معه.

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

قابلية الاكتشاف عبر ENS

إذا قمت بتوجيه اسم ENS (مثل vitalik.eth) إلى موقع الويب الخاص بك، فسيتم اعتباره صفحة ويب لامركزية بالكامل وسيتم تثبيته تلقائيًا بواسطة خدمة dweb3.wtf (يفتح في علامة تبويب جديدة)، بالإضافة إلى جعله قابلاً للبحث من خلال محرك بحث web3compass.net (يفتح في علامة تبويب جديدة)، تمامًا كما تفعل محركات بحث DuckDuckGo أو Brave Search أو Google للويب التقليدي.

الخاتمة

تمامًا كما تتيح لك إيثيريوم جعل جوانب قاعدة البيانات ومنطق الأعمال في تطبيقك اللامركزي (dapp) لامركزية، يتيح لك IPFS جعل واجهة المستخدم لامركزية. يتيح لك هذا إغلاق ناقل هجوم آخر ضد تطبيقك اللامركزي (dapp).

انظر هنا للمزيد من أعمالي (يفتح في علامة تبويب جديدة).