विकेंद्रीकृत यूज़र इंटरफ़ेस के लिए IPFS
आपने एक बेहतरीन नया विकेंद्रीकृत एप्लिकेशन (dapp) लिखा है। आपने इसके लिए एक यूज़र इंटरफ़ेस भी लिखा है। लेकिन अब आपको डर है कि कोई आपके यूज़र इंटरफ़ेस को डाउन करके इसे सेंसर करने का प्रयास करेगा, जो क्लाउड में केवल एक सर्वर पर है। इस ट्यूटोरियल में आप सीखेंगे कि अपने यूज़र इंटरफ़ेस को इंटरप्लैनेटरी फ़ाइल सिस्टम (IPFS) (एक नए टैब में खुलता है) पर डालकर सेंसरशिप से कैसे बचा जाए ताकि कोई भी इच्छुक व्यक्ति भविष्य में एक्सेस के लिए इसे सर्वर पर पिन कर सके।
आप यह सारा काम करने के लिए Fleek (एक नए टैब में खुलता है) जैसी थर्ड-पार्टी सर्विस का उपयोग कर सकते हैं। यह ट्यूटोरियल उन लोगों के लिए है जो यह समझना चाहते हैं कि वे क्या कर रहे हैं, भले ही इसमें अधिक काम लगे।
स्थानीय रूप से शुरुआत करना
कई थर्ड-पार्टी IPFS प्रोवाइडर (एक नए टैब में खुलता है) हैं, लेकिन टेस्टिंग के लिए स्थानीय रूप से IPFS चलाना शुरू करना सबसे अच्छा है।
-
IPFS यूज़र इंटरफ़ेस (एक नए टैब में खुलता है) इंस्टॉल करें।
-
अपनी वेबसाइट के साथ एक डायरेक्टरी बनाएँ। यदि आप Vite (एक नए टैब में खुलता है) का उपयोग कर रहे हैं, तो इस कमांड का उपयोग करें:
pnpm vite build -
IPFS डेस्कटॉप में, 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 का उपयोग कर सकते हैं, जो बहुत रोमांचक नहीं है। अगला कदम यह है कि जब आप ऑफ़लाइन हों तो उन्हें दुनिया के लिए उपलब्ध कराया जाए।
कई प्रसिद्ध पिनिंग सेवाएँ (एक नए टैब में खुलता है) हैं। उनमें से किसी एक को चुनें। आप जिस भी सेवा का उपयोग करते हैं, आपको एक खाता बनाना होगा और उसे अपने IPFS डेस्कटॉप में कंटेंट आइडेंटिफ़ायर (CID) प्रदान करना होगा।
व्यक्तिगत रूप से, मुझे 4EVERLAND (एक नए टैब में खुलता है) का उपयोग करना सबसे आसान लगा। इसके लिए निर्देश यहाँ दिए गए हैं:
-
डैशबोर्ड (एक नए टैब में खुलता है) पर जाएँ और अपने वॉलेट से लॉगिन करें।
-
बाएँ साइडबार में Storage > 4EVER Pin पर क्लिक करें।
-
Upload > Selected CID पर क्लिक करें। अपने कंटेंट को एक नाम दें और IPFS डेस्कटॉप से CID प्रदान करें। वर्तमान में CID एक स्ट्रिंग है जो
Qmसे शुरू होती है, जिसके बाद 44 अक्षर और अंक होते हैं जो एक base-58 एन्कोडेड (एक नए टैब में खुलता है) हैश का प्रतिनिधित्व करते हैं, जैसे किQmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ, लेकिन इसके बदलने की संभावना है (एक नए टैब में खुलता है)। -
प्रारंभिक स्थिति Queued होती है। जब तक यह Pinned में न बदल जाए, तब तक रीलोड करें।
-
लिंक प्राप्त करने के लिए अपने CID पर क्लिक करें। आप मेरा एप्लिकेशन यहाँ (एक नए टैब में खुलता है) देख सकते हैं।
-
इसे एक महीने से अधिक समय तक पिन रखने के लिए आपको अपना खाता सक्रिय करने की आवश्यकता हो सकती है। खाता सक्रियण की लागत लगभग $1 है। यदि आपने इसे बंद कर दिया है, तो लॉग आउट करें और फिर से सक्रिय करने के लिए पूछे जाने के लिए वापस लॉग इन करें।
IPFS से उपयोग करना
इस बिंदु पर आपके पास एक केंद्रीकृत गेटवे का लिंक है जो आपके IPFS कंटेंट को सर्व करता है। संक्षेप में, आपका यूज़र इंटरफ़ेस थोड़ा सुरक्षित हो सकता है लेकिन यह अभी भी सेंसरशिप प्रतिरोधी नहीं है। वास्तविक सेंसरशिप प्रतिरोध के लिए, यूज़र्स को सीधे ब्राउज़र से (एक नए टैब में खुलता है) IPFS का उपयोग करने की आवश्यकता है।
एक बार जब आप इसे इंस्टॉल कर लेते हैं (और डेस्कटॉप IPFS काम कर रहा होता है), तो आप किसी भी साइट पर /ipfs/<CID> (एक नए टैब में खुलता है) पर जा सकते हैं और आपको वह कंटेंट विकेंद्रीकृत तरीके से सर्व किया हुआ मिलेगा।
कमियाँ
आप IPFS फ़ाइलों को मज़बूती से हटा नहीं सकते हैं, इसलिए जब तक आप अपने यूज़र इंटरफ़ेस को संशोधित कर रहे हैं, तब तक इसे केंद्रीकृत छोड़ना या इंटरप्लैनेटरी नेम सिस्टम (IPNS) (एक नए टैब में खुलता है) का उपयोग करना शायद सबसे अच्छा है, जो एक ऐसा सिस्टम है जो IPFS के ऊपर परिवर्तनशीलता प्रदान करता है। बेशक, जो कुछ भी परिवर्तनशील है उसे सेंसर किया जा सकता है, IPNS के मामले में उस व्यक्ति पर दबाव डालकर जिसके पास वह निजी कुंजी है जिससे यह मेल खाता है।
इसके अतिरिक्त, कुछ पैकेजों को IPFS के साथ समस्या होती है, इसलिए यदि आपकी वेबसाइट बहुत जटिल है तो यह एक अच्छा समाधान नहीं हो सकता है। और निश्चित रूप से, जो कुछ भी सर्वर एकीकरण पर निर्भर करता है उसे केवल क्लाइंट साइड को IPFS पर रखकर विकेंद्रीकृत नहीं किया जा सकता है।
ENS के माध्यम से खोज योग्यता
यदि आप अपनी वेबसाइट पर एक ENS नाम (जैसे vitalik.eth) पॉइंट करते हैं, तो इसे पूरी तरह से विकेंद्रीकृत वेबपेज माना जाएगा और यह स्वचालित रूप से dweb3.wtf (एक नए टैब में खुलता है) सेवा द्वारा पिन किया जाएगा, साथ ही इसे web3compass.net (एक नए टैब में खुलता है) सर्च इंजन के माध्यम से खोजने योग्य बनाया जाएगा, ठीक वैसे ही जैसे DuckDuckGo, Brave Search या Google पारंपरिक वेब के लिए करते हैं।
निष्कर्ष
जिस तरह इथेरियम आपको अपने dapp के डेटाबेस और बिज़नेस लॉजिक पहलुओं को विकेंद्रीकृत करने देता है, उसी तरह IPFS आपको यूज़र इंटरफ़ेस को विकेंद्रीकृत करने देता है। यह आपको अपने dapp के खिलाफ एक और हमले के वेक्टर को बंद करने देता है।