हिन्दी
हिन्दी
Appearance
हिन्दी
हिन्दी
Appearance
CAR (Content Addressable aRchive) फाइलों का उपयोग करके एक ही अनुरोध में संपूर्ण IPFS DAG आयात करें। आपके CID बिल्कुल संरक्षित रहते हैं — कोई री-चंकिंग या री-हैशिंग नहीं।
CAR फाइल एक संपूर्ण IPFS डायरेक्टरी ट्री या DAG को एक पोर्टेबल आर्काइव में पैकेज करती है। प्रत्येक ब्लॉक अपने मूल CID के साथ संग्रहीत होता है, इसलिए सेवा सब कुछ जैसा है वैसा ही आयात करती है। इसका मतलब है:
POST /upload/new
नियमित अपलोड के समान endpoint — CAR आयात को इंगित करने के लिए car: true जोड़ें।
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
content | string | हाँ | Base64-एन्कोडेड CAR फाइल |
car | boolean | हाँ | CAR आयात सक्षम करने के लिए true पर सेट करें |
description | string | नहीं | आयात का संक्षिप्त विवरण |
folderId | string | नहीं | आयातित सामग्री को व्यवस्थित करने के लिए फोल्डर ID |
metadata | object | नहीं | कस्टम की-वैल्यू पेयर (नियमित अपलोड के समान नियम) |
चरण 1: ipfs-car का उपयोग करके स्थानीय डायरेक्टरी से CAR फाइल बनाएं:
npx ipfs-car pack ./my-directory -o my-archive.carचरण 2: CAR फाइल अपलोड करें:
curl -X POST https://api.ipfs.ninja/upload/new \
-H "X-Api-Key: bws_your_api_key_here" \
-H "Content-Type: application/json" \
-d "{
\"content\": \"$(base64 -w0 my-archive.car)\",
\"car\": true,
\"description\": \"My directory import\"
}"import fs from "fs";
const carBuffer = fs.readFileSync("my-archive.car");
const base64Content = carBuffer.toString("base64");
const response = await fetch("https://api.ipfs.ninja/upload/new", {
method: "POST",
headers: {
"X-Api-Key": "bws_your_api_key_here",
"Content-Type": "application/json"
},
body: JSON.stringify({
content: base64Content,
car: true,
description: "My directory import"
})
});
const result = await response.json();
console.log("Root CID:", result.cid);
console.log("Gateway:", result.uris.url);import requests
import base64
with open("my-archive.car", "rb") as f:
car_content = base64.b64encode(f.read()).decode()
response = requests.post(
"https://api.ipfs.ninja/upload/new",
headers={
"X-Api-Key": "bws_your_api_key_here",
"Content-Type": "application/json"
},
json={
"content": car_content,
"car": True,
"description": "My directory import"
}
)
result = response.json()
print("Root CID:", result["cid"])
print("Gateway:", result["uris"]["url"])200 OK {
"cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"sizeMB": 4.2,
"car": true,
"uris": {
"ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
"url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
}
}S3 API के माध्यम से CAR फाइल आयात करने के लिए PutObject अनुरोध पर x-amz-meta-import: car हेडर का उपयोग करें।
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";
import fs from "fs";
const s3 = new S3Client({
endpoint: "https://s3.ipfs.ninja",
credentials: {
accessKeyId: "bws_628bba35",
secretAccessKey: "bws_628bba35e9e0079d9ff9c392b1b55a7b"
},
region: "us-east-1",
forcePathStyle: true
});
const result = await s3.send(new PutObjectCommand({
Bucket: "my-project",
Key: "my-archive.car",
Body: fs.readFileSync("my-archive.car"),
ContentType: "application/vnd.ipld.car",
Metadata: { import: "car" } // ← CAR आयात ट्रिगर करता है
}));
console.log("Root CID:", result.ETag);ipfs_import_car टूल MCP Server (v1.3.0+) में उपलब्ध है:
You: Import my-archive.car to IPFS
Claude: [calls ipfs_import_car with base64 content]
→ Root CID: bafybeig... — https://ipfs.ninja/ipfs/bafybeig...ipfs-car CLI टूल का उपयोग करें:
# इंस्टॉल करें
npm install -g ipfs-car
# डायरेक्टरी को CAR फाइल में पैक करें
ipfs-car pack ./my-directory -o my-archive.car
# अपलोड करने से पहले रूट CID जाँचें
ipfs-car roots my-archive.car
# bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdiKubo CLI का उपयोग करके किसी भी CID को CAR फाइल के रूप में निर्यात करें:
ipfs dag export QmXyz... > my-archive.car@ipld/car लाइब्रेरी का उपयोग करें:
import { CarWriter } from "@ipld/car";
import { CID } from "multiformats/cid";
import * as raw from "multiformats/codecs/raw";
import { sha256 } from "multiformats/hashes/sha2";
// Create blocks
const block1 = new TextEncoder().encode("Hello, IPFS!");
const hash1 = await sha256.digest(block1);
const cid1 = CID.create(1, raw.code, hash1);
// Write CAR
const { writer, out } = CarWriter.create([cid1]);
writer.put({ cid: cid1, bytes: block1 });
writer.close();
// Collect output
const chunks = [];
for await (const chunk of out) chunks.push(chunk);
const carBuffer = Buffer.concat(chunks);CAR आयात का मुख्य लाभ CID संरक्षण है। आप अपलोड से पहले और बाद में रूट CID के मेल की पुष्टि कर सकते हैं:
# 1. डायरेक्टरी पैक करें और रूट CID नोट करें
ipfs-car pack ./my-nft-collection -o collection.car
ipfs-car roots collection.car
# bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi
# 2. IPFS Ninja पर अपलोड करें
curl -s -X POST https://api.ipfs.ninja/upload/new \
-H "X-Api-Key: bws_your_api_key" \
-H "Content-Type: application/json" \
-d "{\"content\": \"$(base64 -w0 collection.car)\", \"car\": true}" \
| jq .cid
# "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
# ✓ CID मेल खाते हैं — सामग्री ठीक वैसे ही आयात हुई जैसे स्थानीय रूप से बनाई गई थी# IPFS गेटवे के माध्यम से Pinata से निर्यात करें
ipfs dag export QmYourCID > export.car
# IPFS Ninja में आयात करें
curl -X POST https://api.ipfs.ninja/upload/new \
-H "X-Api-Key: bws_your_api_key" \
-H "Content-Type: application/json" \
-d "{\"content\": \"$(base64 -w0 export.car)\", \"car\": true}"# Filebase अपने S3 API के माध्यम से CAR निर्यात का समर्थन करता है
aws s3 cp s3://your-bucket/your-file.car export.car \
--endpoint-url https://s3.filebase.com
# IPFS Ninja में आयात करें
curl -X POST https://api.ipfs.ninja/upload/new \
-H "X-Api-Key: bws_your_api_key" \
-H "Content-Type: application/json" \
-d "{\"content\": \"$(base64 -w0 export.car)\", \"car\": true}"| सीमा | मान |
|---|---|
| अधिकतम CAR फाइल आकार | 100 MB |
| अधिकतम एकल रूट | कम से कम एक रूट CID आवश्यक |
| CAR प्रारूप | CARv1 (सार्वभौमिक रूप से समर्थित) |
| उपलब्धता | सभी योजनाएँ (Dharma, Bodhi, Nirvana) |
आपकी योजना की स्टोरेज और फाइल गणना सीमाएँ लागू होती हैं। आयातित DAG एक फाइल प्रविष्टि के रूप में गिना जाता है, और CAR फाइल का आकार आपके स्टोरेज कोटा से घटाया जाता है।
अपलोड की गई सामग्री 40 बाइट से कम है, जो एक वैध CAR फाइल के लिए बहुत छोटी है। सुनिश्चित करें कि आप पूर्ण base64-एन्कोडेड CAR सामग्री भेज रहे हैं।
डिकोड की गई CAR फाइल 100 MB से अधिक है। carbites पैकेज का उपयोग करके अपनी सामग्री को कई छोटी CAR फाइलों में विभाजित करें, या फाइलें व्यक्तिगत रूप से अपलोड करें।
IPFS नोड CAR फाइल को प्रोसेस नहीं कर सका। सत्यापित करें कि फाइल एक वैध CARv1 आर्काइव है:
ipfs-car roots my-archive.carयदि यह कमांड विफल होती है, तो CAR फाइल दूषित है। इसे ipfs-car pack या ipfs dag export से पुनः बनाएँ।
आपकी योजना की स्टोरेज सीमा पूरी हो गई है। अनुपयोगी फाइलें हटाएँ या ipfs.ninja/pricing पर अपनी योजना अपग्रेड करें।