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

غیر مرکزی یوزر انٹرفیسز کے لیے IPFS

ipfs
dapps
فرنٹ اینڈ
ابتدائی
اوری پومرانٹز
29 جون، 2024
5 منٹ کی پڑھائی

آپ نے ایک شاندار نئی ڈیپ (dapp) لکھی ہے۔ آپ نے اس کے لیے ایک یوزر انٹرفیس بھی لکھا ہے۔ لیکن اب آپ کو ڈر ہے کہ کوئی آپ کے یوزر انٹرفیس کو ڈاؤن کر کے اسے سنسر کرنے کی کوشش کرے گا، جو کلاؤڈ میں صرف ایک سرور پر موجود ہے۔ اس ٹیوٹوریل میں آپ سیکھیں گے کہ اپنے یوزر انٹرفیس کو انٹرپلینیٹری فائل سسٹم (IPFS) (opens in a new tab) پر رکھ کر سنسرشپ سے کیسے بچا جائے تاکہ کوئی بھی دلچسپی رکھنے والا شخص اسے مستقبل میں رسائی کے لیے سرور پر پن (pin) کر سکے۔

آپ یہ سارا کام کرنے کے لیے 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) استعمال کر رہے ہیں، تو یہ کمانڈ استعمال کریں:

    1pnpm 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 کا استعمال کر سکتے ہیں، جو کہ زیادہ دلچسپ نہیں ہے۔ اگلا مرحلہ یہ ہے کہ جب آپ آف لائن ہوں تو انہیں دنیا کے لیے دستیاب بنایا جائے۔

کئی مشہور پننگ سروسز (pinning services) (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 انکوڈڈ (base-58 encoded) (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 کے اوپر تبدیلی کی سہولت (mutability) فراہم کرتا ہے۔ یقیناً، کوئی بھی چیز جو قابلِ تبدیلی ہو اسے سنسر کیا جا سکتا ہے، IPNS کے معاملے میں اس شخص پر دباؤ ڈال کر جس کے پاس اس سے متعلقہ پرائیویٹ کی (private key) ہو۔

مزید برآں، کچھ پیکجز کو IPFS کے ساتھ مسئلہ ہوتا ہے، لہذا اگر آپ کی ویب سائٹ بہت پیچیدہ ہے تو یہ ایک اچھا حل نہیں ہو سکتا۔ اور یقیناً، کوئی بھی چیز جو سرور انٹیگریشن پر انحصار کرتی ہے اسے صرف کلائنٹ سائیڈ کو IPFS پر رکھنے سے غیر مرکزی نہیں بنایا جا سکتا۔

نتیجہ

جس طرح ایتھیریم آپ کو اپنی ڈیپ (dapp) کے ڈیٹا بیس اور بزنس لاجک کے پہلوؤں کو غیر مرکزی بنانے کی سہولت دیتا ہے، اسی طرح IPFS آپ کو یوزر انٹرفیس کو غیر مرکزی بنانے کی سہولت دیتا ہے۔ اس سے آپ اپنی ڈیپ کے خلاف ایک اور اٹیک ویکٹر (attack vector) کو بند کر سکتے ہیں۔

میرے مزید کام کے لیے یہاں دیکھیں (opens in a new tab)۔

صفحہ کی آخری اپ ڈیٹ: 25 فروری، 2026

کیا یہ ٹیوٹوریل مددگار تھا؟