Latviešu
Latviešu
Appearance
Latviešu
Latviešu
Appearance
Importējiet veselus IPFS DAG vienā pieprasījumā, izmantojot CAR (Content Addressable aRchive) failus. Jūsu CID tiek saglabāti precīzi — bez atkārtotas sadalīšanas vai atkārtotas hešošanas.
CAR fails iepako visu IPFS direktoriju koku vai DAG vienā pārnēsājamā arhīvā. Katrs bloks tiek saglabāts ar sākotnējo CID, tāpēc serviss importē visu tieši tā, kā tas ir. Tas nozīmē:
POST /upload/new
Tas pats endpoint kā parastām augšupielādēm — pievienojiet car: true, lai signalizētu CAR importu.
| Parametrs | Tips | Obligāts | Apraksts |
|---|---|---|---|
content | string | Jā | Base64 kodēts CAR fails |
car | boolean | Jā | Iestatiet uz true, lai iespējotu CAR importu |
description | string | Nē | Īss importa apraksts |
folderId | string | Nē | Mapes ID, lai sakārtotu importēto saturu |
metadata | object | Nē | Pielāgoti atslēgas-vērtības pāri (tie paši noteikumi kā parastām augšupielādēm) |
1. solis: Izveidojiet CAR failu no lokālas direktorijas, izmantojot ipfs-car:
npx ipfs-car pack ./my-directory -o my-archive.car2. solis: Augšupielādējiet CAR failu:
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"
}
}Izmantojiet x-amz-meta-import: car galveni PutObject pieprasījumā, lai importētu CAR failu caur S3 API.
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" } // ← aktivizē CAR importu
}));
console.log("Root CID:", result.ETag);Rīks ipfs_import_car ir pieejams 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...Izmantojiet ipfs-car CLI rīku:
# Instalēt
npm install -g ipfs-car
# Iepakot direktoriju CAR failā
ipfs-car pack ./my-directory -o my-archive.car
# Pārbaudīt saknes CID pirms augšupielādes
ipfs-car roots my-archive.car
# bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdiEksportējiet jebkuru CID kā CAR failu, izmantojot Kubo CLI:
ipfs dag export QmXyz... > my-archive.carIzmantojiet @ipld/car bibliotēku:
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);Galvenais CAR importa ieguvums ir CID saglabāšana. Jūs varat pārbaudīt, vai saknes CID sakrīt pirms un pēc augšupielādes:
# 1. Iepakojiet direktoriju un atzīmējiet saknes CID
ipfs-car pack ./my-nft-collection -o collection.car
ipfs-car roots collection.car
# bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi
# 2. Augšupielādēt uz 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 sakrīt — saturs importēts tieši tā, kā izveidots lokāli# Eksportēt no Pinata, izmantojot IPFS gateway
ipfs dag export QmYourCID > export.car
# Importēt uz 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 atbalsta CAR eksportu caur viņu S3 API
aws s3 cp s3://your-bucket/your-file.car export.car \
--endpoint-url https://s3.filebase.com
# Importēt uz 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}"| Ierobežojums | Vērtība |
|---|---|
| Maksimālais CAR faila lielums | 100 MB |
| Maksimālā viena sakne | Jābūt vismaz vienam saknes CID |
| CAR formāts | CARv1 (universāli atbalstīts) |
| Pieejamība | Visi plāni (Dharma, Bodhi, Nirvana) |
Jūsu plāna krātuves un failu skaita ierobežojumi ir spēkā. Importētais DAG tiek skaitīts kā viens faila ieraksts, un CAR faila lielums tiek atskaitīts no jūsu krātuves kvotas.
Augšupielādētais saturs ir mazāks par 40 baitiem, kas ir pārāk mazs, lai būtu derīgs CAR fails. Pārliecinieties, ka sūtāt pilnu base64 kodētu CAR saturu.
Atkodētais CAR fails pārsniedz 100 MB. Sadaliet saturu vairākos mazākos CAR failos, izmantojot carbites pakotni, vai augšupielādējiet failus atsevišķi.
IPFS mezgls nevarēja apstrādāt CAR failu. Pārbaudiet, vai fails ir derīgs CARv1 arhīvs:
ipfs-car roots my-archive.carJa šī komanda neizdodas, CAR fails ir bojāts. Ģenerējiet to no jauna ar ipfs-car pack vai ipfs dag export.
Jūsu plāna krātuves ierobežojums ir sasniegts. Dzēsiet neizmantotos failus vai jauniniet savu plānu vietnē ipfs.ninja/pricing.