IPFS لواجهات المستخدم اللامركزية
لقد كتبت تطبيقًا لامركزيًا (dapp) جديدًا ومذهلًا. لقد كتبت حتى واجهة مستخدم له. ولكنك الآن تخشى أن يحاول شخص ما فرض الرقابة عليه عن طريق إسقاط واجهة المستخدم الخاصة بك، والتي هي مجرد خادم واحد في السحابة. في هذا البرنامج التعليمي، ستتعلم كيفية تجنب الرقابة عن طريق وضع واجهة المستخدم الخاصة بك على نظام الملفات بين الكواكب (IPFS) (opens in a new tab) بحيث يتمكن أي شخص مهتم من تثبيتها على خادم للوصول إليها في المستقبل.
يمكنك استخدام خدمة تابعة لجهة خارجية مثل Fleek (opens in a new tab) للقيام بكل العمل. هذا البرنامج التعليمي مخصص للأشخاص الذين يرغبون في القيام بما يكفي لفهم ما يفعلونه حتى لو كان ذلك يتطلب المزيد من العمل.
البدء محليًا
هناك العديد من مزودي IPFS من جهات خارجية (opens in a new tab)، ولكن من الأفضل البدء بتشغيل IPFS محليًا للاختبار.
-
قم بتثبيت واجهة مستخدم IPFS (opens in a new tab).
-
قم بإنشاء دليل يحتوي على موقع الويب الخاص بك. إذا كنت تستخدم Vite (opens in a new tab)، فاستخدم هذا الأمر:
pnpm vite build -
في تطبيق IPFS Desktop، انقر على Import > Folder (استيراد > مجلد) وحدد الدليل الذي أنشأته في الخطوة السابقة.
-
حدد المجلد الذي قمت بتحميله للتو وانقر على Rename (إعادة تسمية). امنحه اسمًا ذا معنى أكبر.
-
حدده مرة أخرى وانقر على Share link (مشاركة الرابط). انسخ عنوان URL إلى الحافظة. سيكون الرابط مشابهًا لـ
https://ipfs.io/ipfs/QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ. -
انقر على Status (الحالة). قم بتوسيع علامة التبويب Advanced (متقدم) لرؤية عنوان البوابة. على سبيل المثال، العنوان على نظامي هو
http://127.0.0.1:8080. -
اجمع المسار من خطوة الرابط مع عنوان البوابة للعثور على عنوانك. على سبيل المثال، بالنسبة للمثال أعلاه، عنوان URL هو
http://127.0.0.1:8080/ipfs/QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ. افتح عنوان URL هذا في متصفح لرؤية موقعك.
التحميل
لذا يمكنك الآن استخدام IPFS لتقديم الملفات محليًا، وهو أمر ليس مثيرًا للغاية. الخطوة التالية هي جعلها متاحة للعالم عندما تكون غير متصل بالإنترنت.
هناك عدد من خدمات التثبيت (opens in a new tab) المعروفة. اختر واحدة منها. أيًا كانت الخدمة التي تستخدمها، ستحتاج إلى إنشاء حساب وتزويده بـ معرف المحتوى (CID) الموجود في تطبيق IPFS Desktop الخاص بك.
شخصيًا، وجدت أن 4EVERLAND (opens in a new tab) هي الأسهل في الاستخدام. إليك التوجيهات الخاصة بها:
-
تصفح إلى لوحة التحكم (opens in a new tab) وسجل الدخول باستخدام محفظتك.
-
في الشريط الجانبي الأيسر، انقر على Storage > 4EVER Pin.
-
انقر على Upload > Selected CID. امنح محتواك اسمًا وقدم معرف المحتوى (CID) من تطبيق IPFS Desktop. في الوقت الحاضر، معرف المحتوى (CID) عبارة عن سلسلة تبدأ بـ
Qmمتبوعة بـ 44 حرفًا ورقمًا تمثل تجزئة مشفرة بـ base-58 (opens in a new tab)، مثلQmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ، ولكن من المرجح أن يتغير ذلك (opens in a new tab). -
الحالة الأولية هي Queued (في قائمة الانتظار). أعد التحميل حتى تتغير إلى Pinned (مثبت).
-
انقر على معرف المحتوى (CID) الخاص بك للحصول على الرابط. يمكنك رؤية تطبيقي هنا (opens in a new tab).
-
قد تحتاج إلى تفعيل حسابك لإبقائه مثبتًا لأكثر من شهر. تبلغ تكلفة تفعيل الحساب حوالي $1. إذا قمت بإغلاقه، فقم بتسجيل الخروج وتسجيل الدخول مرة أخرى ليُطلب منك التفعيل مرة أخرى.
الاستخدام من IPFS
في هذه المرحلة، لديك رابط لبوابة مركزية تقدم محتوى IPFS الخاص بك. باختصار، قد تكون واجهة المستخدم الخاصة بك أكثر أمانًا قليلًا ولكنها لا تزال غير مقاومة للرقابة. للحصول على مقاومة حقيقية للرقابة، يحتاج المستخدمون إلى استخدام IPFS مباشرة من المتصفح (opens in a new tab).
بمجرد تثبيت ذلك (وعمل تطبيق IPFS Desktop)، يمكنك الانتقال إلى /ipfs/<CID> (opens in a new tab) على أي موقع وستحصل على هذا المحتوى، مقدمًا بطريقة لامركزية.
العيوب
لا يمكنك حذف ملفات IPFS بشكل موثوق، لذلك طالما أنك تقوم بتعديل واجهة المستخدم الخاصة بك، فمن الأفضل على الأرجح إما تركها مركزية، أو استخدام نظام الأسماء بين الكواكب (IPNS) (opens in a new tab)، وهو نظام يوفر قابلية التغيير فوق IPFS. بالطبع، يمكن فرض الرقابة على أي شيء قابل للتغيير، وفي حالة IPNS يتم ذلك عن طريق الضغط على الشخص الذي يمتلك المفتاح الخاص الذي يتوافق معه.
بالإضافة إلى ذلك، تواجه بعض الحزم مشكلة مع IPFS، لذلك إذا كان موقع الويب الخاص بك معقدًا للغاية، فقد لا يكون هذا حلًا جيدًا. وبالطبع، لا يمكن جعل أي شيء يعتمد على تكامل الخادم لامركزيًا بمجرد وجود جانب العميل على IPFS.
قابلية الاكتشاف عبر ENS
إذا قمت بتوجيه اسم ENS (مثل vitalik.eth) إلى موقع الويب الخاص بك، فسيتم اعتباره صفحة ويب لامركزية بالكامل وسيتم تثبيته تلقائيًا بواسطة خدمة dweb3.wtf (opens in a new tab)، بالإضافة إلى جعله قابلاً للبحث من خلال محرك بحث web3compass.net (opens in a new tab)، تمامًا كما تفعل محركات بحث DuckDuckGo أو Brave Search أو Google للويب التقليدي.
الخاتمة
تمامًا كما تتيح لك إيثيريوم جعل جوانب قاعدة البيانات ومنطق الأعمال في تطبيقك اللامركزي (dapp) لامركزية، يتيح لك IPFS جعل واجهة المستخدم لامركزية. يتيح لك هذا إغلاق ناقل هجوم آخر ضد تطبيقك اللامركزي (dapp).