ডিসেন্ট্রালাইজড ইউজার ইন্টারফেসের জন্য IPFS
আপনি একটি চমৎকার নতুন ডিএ্যাপ তৈরি করেছেন। এমনকি আপনি এর জন্য একটি ইউজার ইন্টারফেস-ও লিখেছেন। কিন্তু এখন আপনার ভয় হচ্ছে যে কেউ হয়তো আপনার ইউজার ইন্টারফেসটি ডাউন করে দিয়ে এটিকে সেন্সর করার চেষ্টা করবে, যা ক্লাউডের একটি মাত্র সার্ভারে রয়েছে। এই টিউটোরিয়ালে আপনি শিখবেন কীভাবে আপনার ইউজার ইন্টারফেসটি ইন্টারপ্ল্যানেটারি ফাইল সিস্টেম (IPFS) (opens in a new tab)-এ রেখে সেন্সরশিপ এড়ানো যায়, যাতে আগ্রহী যে কেউ ভবিষ্যতের অ্যাক্সেসের জন্য এটিকে একটি সার্ভারে পিন করতে পারে।
আপনি সব কাজ করার জন্য Fleek (opens in a new tab)-এর মতো কোনো থার্ড-পার্টি সার্ভিস ব্যবহার করতে পারেন। এই টিউটোরিয়ালটি তাদের জন্য যারা একটু বেশি কাজ হলেও তারা কী করছেন তা বোঝার জন্য যথেষ্ট কাজ করতে চান।
লোকালি শুরু করা
একাধিক থার্ড-পার্টি IPFS প্রোভাইডার (opens in a new tab) রয়েছে, তবে টেস্টিংয়ের জন্য লোকালি IPFS রান করে শুরু করা সবচেয়ে ভালো।
-
IPFS ইউজার ইন্টারফেস (opens in a new tab) ইনস্টল করুন।
-
আপনার ওয়েবসাইট দিয়ে একটি ডিরেক্টরি তৈরি করুন। আপনি যদি Vite (opens in a new tab) ব্যবহার করেন, তবে এই কমান্ডটি ব্যবহার করুন:
1pnpm 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 ব্যবহার করতে পারেন, যা খুব একটা রোমাঞ্চকর নয়। পরবর্তী ধাপ হলো আপনি অফলাইনে থাকার সময়ও সেগুলোকে বিশ্বের জন্য সহজলভ্য করা।
বেশ কিছু সুপরিচিত পিনিং সার্ভিস (opens in a new tab) রয়েছে। সেগুলোর মধ্যে একটি বেছে নিন। আপনি যে সার্ভিসই ব্যবহার করুন না কেন, আপনাকে একটি একাউন্ট তৈরি করতে হবে এবং আপনার IPFS ডেস্কটপে থাকা কন্টেন্ট আইডেন্টিফায়ার (CID) প্রদান করতে হবে।
ব্যক্তিগতভাবে, আমার কাছে 4EVERLAND (opens in a new tab) ব্যবহার করা সবচেয়ে সহজ মনে হয়েছে। এর জন্য নির্দেশনাগুলো নিচে দেওয়া হলো:
-
ড্যাশবোর্ড (opens in a new tab)-এ ব্রাউজ করুন এবং আপনার ওয়ালেট দিয়ে লগইন করুন।
-
বাম দিকের সাইডবারে Storage > 4EVER Pin-এ ক্লিক করুন।
-
Upload > Selected CID-এ ক্লিক করুন। আপনার কন্টেন্টের একটি নাম দিন এবং IPFS ডেস্কটপ থেকে CID প্রদান করুন। বর্তমানে একটি CID হলো এমন একটি স্ট্রিং যা
Qmদিয়ে শুরু হয় এবং এর পরে 44টি অক্ষর ও সংখ্যা থাকে যা একটি বেস-58 এনকোডেড (opens in a new tab) হ্যাস উপস্থাপন করে, যেমনQmaCuQ7yN6iyBjLmLGe8YiFuCwnePoKfVu6ue8vLBsLJQJ, তবে এটি পরিবর্তন হওয়ার সম্ভাবনা রয়েছে (opens in a new tab)। -
প্রাথমিক স্ট্যাটাস হলো Queued। এটি Pinned-এ পরিবর্তিত না হওয়া পর্যন্ত রিলোড করুন।
-
লিংকটি পেতে আপনার CID-তে ক্লিক করুন। আপনি আমার অ্যাপ্লিকেশনটি এখানে (opens in a new tab) দেখতে পারেন।
-
এক মাসের বেশি সময় ধরে পিন করে রাখার জন্য আপনাকে হয়তো আপনার একাউন্টটি অ্যাক্টিভেট করতে হতে পারে। একাউন্ট অ্যাক্টিভেশনের খরচ প্রায় $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-এ রেখে ডিসেন্ট্রালাইজড করা যায় না।
উপসংহার
ইথিরিয়াম যেমন আপনাকে আপনার ডিএ্যাপের ডাটাবেস এবং বিজনেস লজিকের দিকগুলো ডিসেন্ট্রালাইজড করতে দেয়, তেমনি IPFS আপনাকে ইউজার ইন্টারফেস ডিসেন্ট্রালাইজড করতে দেয়। এটি আপনাকে আপনার ডিএ্যাপের বিরুদ্ধে আরও একটি অ্যাটাক ভেক্টর বন্ধ করতে সাহায্য করে।
আমার আরও কাজের জন্য এখানে দেখুন (opens in a new tab)।
পেজ সর্বশেষ আপডেট: ২৫ ফেব্রুয়ারী, ২০২৬