मुख्य सामग्री पर जाएं

विकेंद्रीकृत यूज़र इंटरफ़ेस के लिए IPFS

ipfs
dapps
फ्रंटएंड
शुरुआती
ओरी पोमेरेंट्ज़
29 जून 2024
5 मिनट पढ़ें

आपने एक बेहतरीन नया विकेंद्रीकृत एप्लिकेशन (dapp) लिखा है। आपने इसके लिए एक यूज़र इंटरफ़ेस भी लिखा है। लेकिन अब आपको डर है कि कोई आपके यूज़र इंटरफ़ेस को डाउन करके इसे सेंसर करने का प्रयास करेगा, जो क्लाउड में केवल एक सर्वर पर है। इस ट्यूटोरियल में आप सीखेंगे कि अपने यूज़र इंटरफ़ेस को इंटरप्लैनेटरी फ़ाइल सिस्टम (IPFS) (opens in a new tab) पर डालकर सेंसरशिप से कैसे बचा जाए ताकि कोई भी इच्छुक व्यक्ति भविष्य में एक्सेस के लिए इसे सर्वर पर पिन कर सके।

आप यह सारा काम करने के लिए Fleek (opens in a new tab) जैसी थर्ड-पार्टी सर्विस का उपयोग कर सकते हैं। यह ट्यूटोरियल उन लोगों के लिए है जो यह समझना चाहते हैं कि वे क्या कर रहे हैं, भले ही इसमें अधिक काम लगे।

स्थानीय रूप से शुरुआत करना

कई थर्ड-पार्टी IPFS प्रोवाइडर (opens in a new tab) हैं, लेकिन टेस्टिंग के लिए स्थानीय रूप से IPFS चलाना शुरू करना सबसे अच्छा है।

  1. IPFS यूज़र इंटरफ़ेस (opens in a new tab) इंस्टॉल करें।

  2. अपनी वेबसाइट के साथ एक डायरेक्टरी बनाएँ। यदि आप Vite (opens in a new tab) का उपयोग कर रहे हैं, तो इस कमांड का उपयोग करें:

    pnpm vite build
    
  3. IPFS डेस्कटॉप में, 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 का उपयोग कर सकते हैं, जो बहुत रोमांचक नहीं है। अगला कदम यह है कि जब आप ऑफ़लाइन हों तो उन्हें दुनिया के लिए उपलब्ध कराया जाए।

कई प्रसिद्ध पिनिंग सेवाएँ (opens in a new tab) हैं। उनमें से किसी एक को चुनें। आप जिस भी सेवा का उपयोग करते हैं, आपको एक खाता बनाना होगा और उसे अपने IPFS डेस्कटॉप में कंटेंट आइडेंटिफ़ायर (CID) प्रदान करना होगा।

व्यक्तिगत रूप से, मुझे 4EVERLAND (opens in a new tab) का उपयोग करना सबसे आसान लगा। इसके लिए निर्देश यहाँ दिए गए हैं:

  1. डैशबोर्ड (opens in a new tab) पर जाएँ और अपने वॉलेट से लॉगिन करें।

  2. बाएँ साइडबार में Storage > 4EVER Pin पर क्लिक करें।

  3. Upload > Selected CID पर क्लिक करें। अपने कंटेंट को एक नाम दें और IPFS डेस्कटॉप से CID प्रदान करें। वर्तमान में CID एक स्ट्रिंग है जो Qm से शुरू होती है, जिसके बाद 44 अक्षर और अंक होते हैं जो एक base-58 एन्कोडेड (opens in a new tab) हैश का प्रतिनिधित्व करते हैं, जैसे कि QmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ, लेकिन इसके बदलने की संभावना है (opens in a new tab)

  4. प्रारंभिक स्थिति Queued होती है। जब तक यह Pinned में न बदल जाए, तब तक रीलोड करें।

  5. लिंक प्राप्त करने के लिए अपने CID पर क्लिक करें। आप मेरा एप्लिकेशन यहाँ (opens in a new tab) देख सकते हैं।

  6. इसे एक महीने से अधिक समय तक पिन रखने के लिए आपको अपना खाता सक्रिय करने की आवश्यकता हो सकती है। खाता सक्रियण की लागत लगभग $1 है। यदि आपने इसे बंद कर दिया है, तो लॉग आउट करें और फिर से सक्रिय करने के लिए पूछे जाने के लिए वापस लॉग इन करें।

IPFS से उपयोग करना

इस बिंदु पर आपके पास एक केंद्रीकृत गेटवे का लिंक है जो आपके IPFS कंटेंट को सर्व करता है। संक्षेप में, आपका यूज़र इंटरफ़ेस थोड़ा सुरक्षित हो सकता है लेकिन यह अभी भी सेंसरशिप प्रतिरोधी नहीं है। वास्तविक सेंसरशिप प्रतिरोध के लिए, यूज़र्स को सीधे ब्राउज़र से (opens in a new tab) IPFS का उपयोग करने की आवश्यकता है।

एक बार जब आप इसे इंस्टॉल कर लेते हैं (और डेस्कटॉप IPFS काम कर रहा होता है), तो आप किसी भी साइट पर /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 के खिलाफ एक और हमले के वेक्टर को बंद करने देता है।

मेरे और काम यहाँ देखें (opens in a new tab)