मुख्य आशयावर जा

विकेंद्रित युजर इंटरफेससाठी IPFS

ipfs
dapps
फ्रंटएंड
नवशिक्या
ओरी पोमेरँट्झ
29 जून, 2024
4 मिनिटांचे वाचन

तुम्ही एक अप्रतिम नवीन विकेंद्रित ॲप्लिकेशन (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 अक्षरे आणि अंक असतात जे बेस-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 कंटेंट सर्व्ह करते. थोडक्यात, तुमचा युजर इंटरफेस थोडा अधिक सुरक्षित असू शकतो परंतु तो अद्याप सेन्सॉरशिप प्रतिरोधक नाही. खऱ्या सेन्सॉरशिप प्रतिरोधकतेसाठी, युजर्सना IPFS थेट ब्राउझरमधून (opens in a new tab) वापरण्याची आवश्यकता आहे.

एकदा तुम्ही ते इन्स्टॉल केले (आणि डेस्कटॉप 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).