مرکزی مواد پر جائیں

⁦IPFS⁩ برائے لامركزی یوزر انٹرفیسز

ipfs
dapps
فرنٹ اینڈ
ابتدائی
اوری پومرانٹز
۲۹ جون، ۲۰۲۴
6 منٹ کا مطالعہ

آپ نے ایک شاندار نئی غیر مرکزی ایپلی کیشن (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 مواد پیش کرتا ہے۔ مختصراً، آپ کا یوزر انٹرفیس قدرے محفوظ ہو سکتا ہے لیکن یہ اب بھی سنسرشپ کے خلاف مزاحم نہیں ہے۔ حقیقی سنسرشپ کے خلاف مزاحمت کے لیے، صارفین کو براہ راست براؤزر سے (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)۔