Skip to content

Turinio identifikatoriai (CID)

Unikalus pirštų atspaudas, kurį gauna kiekvienas IPFS failas.

Kas yra CID?

Turinio identifikatorius (CID) yra save aprašanti etiketė, kuri unikaliai identifikuoja duomenų dalį IPFS. Jis išvedamas iš failo turinio kriptografinės maišos, kartu su metaduomenimis apie naudojamą maišos algoritmą ir kodavimo formatą.

bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

CID, prasidedantys bafy (arba bafk mažam vienbloko turiniui), naudoja CIDv1, modernų save aprašantį formatą. Senesni CID, prasidedantys Qm, naudoja CIDv0 (base58 koduotą SHA-256) — vis dar galiojantys, vis dar išsprendžiami, tačiau nebe numatytoji išvestis naujam turiniui.

Pagrindinės savybės

  • Deterministinis — Tas pats failas visada sukuria tą patį CID. Įkelkite tą patį vaizdą du kartus ir gausite tą patį identifikatorių.
  • Unikalus — Net vieno baito pakeitimas sukuria visiškai kitokį CID. Tai daro CID klastojimui atspariu.
  • Savitikrinantis — Bet kas, gavęs failą, gali perskaičiuoti maišą ir patvirtinti, kad ji atitinka prašytą CID.
  • Nekintamas — CID visada nurodo tą patį turinį. Negalite pakeisti, į ką CID nukreipia.

CID IPFS.NINJA

Kiekvienas įkeltas failas grąžina CID API atsakyme. Naudokite jį, kad:

  • Pasiektumėte failą per gateway: ipfs.ninja/ipfs/<CID>
  • Gautumėte failo metaduomenis: GET /file/<CID>
  • Nurodytumėte turinį blokų grandinėje (NFT, išmanieji kontraktai)
  • Dalintumėtės su bet kuo — jie gali patikrinti, kad turinys atitinka

CIDv0 vs CIDv1

SavybėCIDv0CIDv1
PrefiksasQm...bafy... (dag-pb, katalogai ir daugiablokiai failai), bafk... (raw, mažas vienbloko turinys), ir kiti pagal kodeką
Maišos funkcijaTik SHA-256Kelios (SHA-256, Blake2b ir kt.)
KodavimasBase58 (mišrus registras)Multibase — pagal numatytuosius nustatymus base32 (mažosios raidės, saugus DNS)
Save aprašantisNeTaip (įtraukia kodeko ir maišos informaciją)
Skaidiklis256 KiB senasis numatytasis1 MiB pagal IPIP-0499
Lapo kodavimasSuvyniotas į dag-pbNeapdoroti baitai (raw-leaves=true)

Ką išveda IPFS.NINJA

Įkėlimai ir prisegimai, atlikti po 2026-07-13, pagal numatytuosius nustatymus grąžina CIDv1: CIDv1 base32 kodavimas, 1 MiB gabalai, raw lapai — IPIP-0499 unixfs-v1-2025 profilis. Praktinės pasekmės:

  • Maži failai (≤ 1 MiB) grąžinami kaip bafk... (raw vienbloko CIDv1)
  • Didesni failai ir katalogai grąžinami kaip bafy... (dag-pb CIDv1)
  • Per mus įkeltas failas gauna tą patį CID, kokį apskaičiuotų bet koks modernus įrankis (Helia, naujausias Kubo, ipfs-car) iš tų pačių baitų

Atgalinis suderinamumas

Ankstesnių įkėlimų senesni Qm... CID lieka visiškai išsprendžiami — gateway, POST /pin, GET /file/:cid, IPNS sprendikliai ir kiekvienas kitas galinis taškas priima abu formatus neribotą laiką. Jei turite Qm... CID iš ankstesnio įkėlimo, niekas, ką sukūrėte, nenustoja veikti.