· Nacho Coll · Comparisons · 8 মিনিট পড়ুন
Filebase বিকল্প: S3 জটিলতা ছাড়া সহজ IPFS Pinning
IPFS Ninja ও Filebase-এর তুলনা। S3 প্রোটোকলের ঝামেলা এড়িয়ে সহজ REST API pinning চাইলে কেন ডেভেলপাররা সুইচ করেন।

দ্রুত তুলনা: Filebase বনাম IPFS Ninja
| ফিচার | Filebase | IPFS Ninja |
|---|---|---|
| API স্টাইল | S3-compatible (XML/multipart) | Simple REST/JSON |
| ফ্রি টিয়ার | 5 GB স্টোরেজ | 1 GB, 500 ফাইল |
| পেইড এন্ট্রি | $19.99/mo (Performance) | $5/mo (Bodhi) |
| ডেডিকেটেড গেটওয়ে | আছে | আছে (Nirvana-তে সর্বোচ্চ 10) |
| ইমেজ অপটিমাইজেশন | নেই | আছে (/image/{cid}) |
| আপলোড অথ | AWS-style signing | X-Api-Key বা signed tokens |
| বিদ্যমান CID পিন করা | S3 PUT to bucket-এর মাধ্যমে | POST /pin |
| ক্লায়েন্ট-সাইড আপলোড | Pre-signed URL plumbing দরকার | Signed upload tokens, বিল্ট-ইন |
সারসংক্ষেপ: আপনি যদি আগে থেকেই AWS SDK ক্লায়েন্ট ব্যবহার করেন, Filebase স্বাভাবিকভাবেই মিলে যায়। আর যদি একটিমাত্র curl কমান্ডে IPFS-এ ফাইল পাঠাতে চান, সরলতায় IPFS Ninja এগিয়ে।

৩০ সেকেন্ডে IPFS-এ ফাইল আপলোড করুন
এটি IPFS Ninja-র আপলোড পথ। কোনো SDK নেই, XML নেই, বাকেট তৈরির ধাপ নেই:
curl -X POST https://api.ipfs.ninja/upload/new \
-H "X-Api-Key: bws_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4" \
-H "Content-Type: application/json" \
-d '{
"content": "Hello from IPFS Ninja!",
"description": "My first file"
}'রেসপন্স:
{
"cid": "bafkreib4mrow...",
"sizeMB": 0.00002,
"uris": {
"ipfs": "ipfs://bafkreib4mrow...",
"url": "https://ipfs.ninja/ipfs/bafkreib4mrow..."
}
}ব্যস। সেই CID পিন হয়ে গেছে, IPFS-এ অ্যাক্সেসযোগ্য, এবং পাবলিক গেটওয়েতে তাৎক্ষণিকভাবে পৌঁছানো যাচ্ছে।
এবার Filebase-এর সমতুল্য প্রক্রিয়াটি দেখুন:
- Filebase কনসোলে অ্যাকাউন্ট ও বাকেট তৈরি করুন।
- একটি access key + secret key জুটি তৈরি করুন।
https://s3.filebase.comএন্ডপয়েন্ট,us-east-1রিজিয়ন এবং আপনার ক্রেডেনশিয়াল দিয়ে S3 ক্লায়েন্ট কনফিগার করুন।- ফাইল বডি দিয়ে
putObjectকল করুন। - IPFS CID পেতে অবজেক্টের মেটাডেটা পোল করুন (Filebase পিন করার পরে
x-amz-meta-cidহেডার হিসেবে দেখা যায়)।
এটা ভুল নয় — কিন্তু বেশিরভাগ REST-native প্রজেক্টের জন্য এটা প্রয়োজনের চেয়ে বেশি জটিল।
কেন ডেভেলপাররা Filebase-এ S3 ফ্রিকশনে পড়েন
Filebase-এর S3 কম্প্যাটিবিলিটি সত্যিকার অর্থে উপকারী যখন:
- আপনার কাছে বিদ্যমান ইনফ্রাস্ট্রাকচার আছে যা S3-এর সাথে কথা বলে (Lambda ফাংশন, Terraform মডিউল, ব্যাকআপ এজেন্ট)।
- আপনি বড় ব্লব স্টোর করেন এবং পরিচিত multipart আপলোড সেমান্টিক্স চান।
- আপনার টিম AWS-দক্ষ এবং S3 SDK ইতিমধ্যে একটি ডিপেনডেন্সি।
কিন্তু অনেক ডেভেলপার যারা ওয়েব অ্যাপ, dApp বা CI পাইপলাইনে IPFS যুক্ত করছেন, তারা সেই জগৎ থেকে আসেন না। তারা যা নিয়ে সমস্যায় পড়েন:
XML এরর রেসপন্স। S3 XML রিটার্ন করে। আপনার JavaScript fetch কল পায় <?xml version="1.0" ...><Error><Code>InvalidAccessKeyId</Code> এবং ডিবাগ করতে XML পার্সার যোগ করতে হয়।
ক্রেডেনশিয়াল ম্যানেজমেন্ট। S3-স্টাইল অথ (access key + secret + HMAC-SHA256 রিকোয়েস্ট সাইনিং) ব্রাউজার বা এজ ফাংশনে স্ক্র্যাচ থেকে বাস্তবায়ন করা সহজ নয়। Pre-signed URL সাহায্য করে, কিন্তু সার্ভার-সাইডে সেগুলো জেনারেট করতে একটি অতিরিক্ত রাউন্ড ট্রিপ লাগে।
CID রিট্রিভাল একটি পরের ভাবনা। CID হলো S3 অবজেক্টের মেটাডেটা, প্রাথমিক রেসপন্স নয়। আপনাকে হয় রেসপন্স হেডার পার্স করতে হবে অথবা আলাদা মেটাডেটা এন্ডপয়েন্ট কল করতে হবে।
নেটিভ signed upload token নেই। সার্ভার ক্রেডেনশিয়াল এক্সপোজ না করে ব্রাউজার থেকে সরাসরি আপলোড করতে দিতে চাইলে, Filebase-এ নিজেই pre-signed URL জেনারেশন এন্ডপয়েন্ট তৈরি করতে হয়।
IPFS Ninja-র signed upload tokens এই প্যাটার্ন নেটিভলি হ্যান্ডল করে: একবার সার্ভার-সাইডে সময়-সীমিত টোকেন জেনারেট করুন, ফ্রন্টেন্ডে এম্বেড করুন, এবং টোকেন মেয়াদ শেষ বা রিভোক না হওয়া পর্যন্ত ব্যবহারকারীরা সরাসরি api.ipfs.ninja-তে POST করতে পারবেন।
পাশাপাশি মূল্য তুলনা
| প্ল্যান | Filebase | IPFS Ninja |
|---|---|---|
| ফ্রি | 5 GB, শুধু পাবলিক গেটওয়ে | 500 ফাইল, 1 GB, 1 ডেডিকেটেড গেটওয়ে |
| এন্ট্রি পেইড | ~$19.99/mo (Performance) | $5/mo (Bodhi: 50K ফাইল, 10 GB) |
| মিড-টিয়ার | — | $29/mo (Nirvana: 500K ফাইল, 100 GB) |
| ডেডিকেটেড গেটওয়ে | আছে | আছে (Bodhi: 5, Nirvana: 10) |
ছোট থেকে মাঝারি প্রজেক্টের জন্য, ফ্রি থেকে প্রথম পেইড টিয়ারে যাওয়ার পার্থক্য হলো IPFS Ninja-তে $5/mo বনাম Filebase-এ প্রায় $20/mo। সাইড প্রজেক্ট বা স্টার্টআপ MVP বানাচ্ছেন, এই পার্থক্যটা গুরুত্বপূর্ণ।
গেটওয়ে ফিচার তুলনা
উভয় সার্ভিসই ডেডিকেটেড IPFS গেটওয়ে অফার করে (সাবডোমেইন যা HTTPS-এ আপনার পিন করা কন্টেন্ট সার্ভ করে)। তাদের পার্থক্য:
Filebase পেইড প্ল্যানে ডেডিকেটেড গেটওয়ে দেয়। এটি আপনার বাকেটের কন্টেন্ট সার্ভ করে এবং তাদের S3 নেমস্পেসের সাথে ইন্টিগ্রেটেড।
IPFS Ninja গেটওয়ে https://{slug}.gw.ipfs.ninja সাপোর্ট করে:
- অ্যাক্সেস মোড: রেস্ট্রিক্টেড (টোকেন প্রয়োজন), ওপেন (পাবলিক), বা ফোল্ডার (ডিরেক্টরি লিস্টিং)।
- IP হোয়াইটলিস্টিং: গেটওয়ে নির্দিষ্ট সার্ভার IP-তে লক করুন।
- অরিজিন রেস্ট্রিকশন: নির্দিষ্ট HTTP অরিজিনে সীমাবদ্ধ করুন, ব্রাউজার-অনলি CORS পরিস্থিতিতে কাজে লাগে।
- ইমেজ অপটিমাইজেশন:
/image/{cid}এন্ডপয়েন্ট দিয়ে ফ্লাইতে রিসাইজ, ক্রপ ও ফরম্যাট কনভার্ট করুন — আলাদা ইমেজ CDN দরকার নেই।
ওয়েব ফ্রন্টেন্ডে অ্যাসেট সার্ভ করার ক্ষেত্রে, CORS অরিজিন রেস্ট্রিকশন এবং বিল্ট-ইন ইমেজ অপটিমাইজেশন এন্ডপয়েন্ট আপনাকে আলাদা সার্ভিস ইন্টিগ্রেশন থেকে বাঁচায়।
বিদ্যমান CID পিন করা
অন্য নোড বা সার্ভিস থেকে ইতিমধ্যে একটি CID পেয়েছেন? উভয় প্ল্যাটফর্মই পুনরায় আপলোড ছাড়াই পিন করতে দেয়। IPFS Ninja-তে:
curl -X POST https://api.ipfs.ninja/pin \
-H "X-Api-Key: bws_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4" \
-H "Content-Type: application/json" \
-d '{
"cid": "bafkreib4mrow...",
"description": "Pinned from external source"
}'Filebase-এ, কাস্টম মেটাডেটা হেডার সহ বাকেটে PUT করে পিন করতে হয়, তারপর Filebase সেটি ফেচ ও পিন করে। IPFS Ninja-র CID-ফার্স্ট ওয়ার্কফ্লো আরও সরাসরি, বিশেষত S3-native নয় বরং IPFS-native মানসিকতা থেকে আসলে।
পিনিং কেন গুরুত্বপূর্ণ এবং কন্টেন্ট পিন না থাকলে কী হয়, তার গভীর ব্যাখ্যার জন্য দেখুন what is IPFS pinning।
ক্রেডেনশিয়াল ফাঁস না করে ক্লায়েন্ট-সাইড আপলোড
এটি একটি সাধারণ আর্কিটেকচার প্রশ্ন: API কী ক্লায়েন্টে না পাঠিয়ে ব্রাউজার থেকে IPFS-এ আপলোড করবেন কীভাবে?
Filebase পদ্ধতি: সার্ভারে pre-signed S3 PUT URL তৈরি করুন, ক্লায়েন্টে পাঠান, ক্লায়েন্ট সরাসরি PUT করে। স্ট্যান্ডার্ড S3 pre-sign প্যাটার্ন, ঠিকঠাক কাজ করে, কিন্তু সার্ভার-সাইড সাইনিং এন্ডপয়েন্ট নিজেকেই বানাতে হবে।
IPFS Ninja পদ্ধতি: signed upload token তৈরি করতে /token/upload/new কল করুন (বা ড্যাশবোর্ড থেকে জেনারেট করুন)। সেই টোকেন ফ্রন্টেন্ডে এম্বেড করুন। ক্লায়েন্ট Authorization: Signed {token} ব্যবহার করে api.ipfs.ninja-তে পোস্ট করে। টোকেন নির্দিষ্ট সময় পরে মেয়াদ শেষ হওয়ার জন্য স্কোপ করা যায় বা ড্যাশবোর্ড থেকে তাৎক্ষণিক রিভোক করা যায়।
// Frontend code — token was fetched from your server
const token = 'your-signed-upload-token';
const response = await fetch('https://api.ipfs.ninja/upload/new', {
method: 'POST',
headers: {
'Authorization': `Signed ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
content: btoa(fileContentAsArrayBuffer), // base64 for binary
description: 'User uploaded file',
}),
});
const { cid, uris } = await response.json();
console.log('Pinned at:', uris.url);আপলোড প্যাটার্নের বিস্তারিত ওয়াকথ্রুর জন্য দেখুন how to upload files to IPFS।
কখন তবুও Filebase বেছে নেবেন
এই আর্টিকেলটি সৎ হওয়ার উদ্দেশ্যে লেখা, একপেশে প্রচারণা নয়।
Filebase বেছে নিন যদি:
- আপনার কোডবেস ইতিমধ্যে AWS SDK v3 বা Boto3 ব্যবহার করে এবং অতিরিক্ত ডিপেনডেন্সি চান না।
- S3 থেকে IPFS-এ মাইগ্রেট করছেন এবং আপলোড লজিক নতুন করে না লিখে শুধু এন্ডপয়েন্ট বদলাতে চান।
- খুব বড় ফাইল স্টোর করছেন এবং S3 সেমান্টিক্সসহ নির্ভরযোগ্য multipart আপলোড দরকার (যদিও IPFS Ninja-তেও একটি large upload API আছে)।
- আপনার টিমের গভীর AWS দক্ষতা আছে এবং REST হেডারের চেয়ে S3 অথ বেশি পরিচিত।
IPFS Ninja বেছে নিন যদি:
- মধ্যবর্তী ধাপ ছাড়া একটি
POST /upload/new-এই CID ফেরত পেতে চান। - ফ্রন্টেন্ড-ফার্স্ট অ্যাপ বানাচ্ছেন এবং pre-sign ইনফ্রাস্ট্রাকচার না বানিয়ে ক্লায়েন্ট-সেইফ আপলোড টোকেন চান।
- আলাদা সার্ভিস যোগ না করে ইমেজ অপটিমাইজেশন ও অ্যাক্সেস-কন্ট্রোলড গেটওয়ে চান।
- মূল্যের ব্যাপারে সচেতন এবং আপনার প্রজেক্টের এই পর্যায়ে $5/mo এন্ট্রি পয়েন্ট গুরুত্বপূর্ণ।
সারসংক্ষেপ
Filebase AWS ইকোসিস্টেমে থাকা টিমের জন্য একটি শক্তিশালী প্রোডাক্ট। সেই প্রেক্ষাপটে S3 কম্প্যাটিবিলিটি সত্যিকারের সুবিধা। কিন্তু যেসব ডেভেলপার শুধু একটি পরিষ্কার REST API-এর মাধ্যমে IPFS-এ ফাইল পিন করতে চান — এবং তাৎক্ষণিকভাবে CID ফেরত পেতে চান — তাদের জন্য S3 লেয়ারটি কোনো উপকার ছাড়াই জটিলতা যোগ করে।
IPFS Ninja API সারফেস ন্যূনতম রাখে: আপলোড, পিন, ফেচ। গেটওয়ে, ইমেজ অপটিমাইজেশন ও আপলোড টোকেন ফিচার দরকার হলে পাবেন, শুরু থেকেই বাধ্যতামূলক নয়।
IPFS Ninja অন্য সার্ভিসের সাথে কীভাবে তুলনা করে তার বিস্তৃত দৃষ্টিভঙ্গির জন্য দেখুন best IPFS pinning services।
পিনিং শুরু করতে প্রস্তুত? বিনামূল্যে অ্যাকাউন্ট তৈরি করুন — 500 ফাইল, 1 GB স্টোরেজ, ক্রেডিট কার্ড লাগবে না।
এই আর্টিকেল সম্পর্কে: এই আর্টিকেলটি IPFS.NINJA-র কন্টেন্ট জেনারেশন ওয়ার্কফ্লো ব্যবহার করে একটি AI অ্যাসিস্ট্যান্ট দ্বারা খসড়া করা হয়েছে, তারপর Nacho Coll পর্যালোচনা ও অনুমোদন করেছেন। সমস্ত কোড উদাহরণ লাইভ IPFS.NINJA API-এর বিপরীতে যাচাই করা হয়েছে। কোনো ভুল দেখলে অনুগ্রহ করে https://github.com/ipfs-ninja/feedback-এ একটি ইস্যু খুলুন। আমরা কীভাবে AI ব্যবহার করি এবং IPFS.NINJA-র পেছনের মানুষদের সাথে পরিচিত হন।

