Skip to content

Pengecam Kandungan (CID)

Cap jari unik yang diterima setiap fail IPFS.

Apa itu CID?

Pengecam Kandungan (CID) ialah label yang mendeskripsikan diri sendiri yang mengenal pasti sekeping data pada IPFS secara unik. Ia diperoleh daripada hash kriptografi kandungan fail, digabungkan dengan metadata tentang algoritma hash dan format pengekodan yang digunakan.

bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

CID yang bermula dengan bafy (atau bafk untuk kandungan blok tunggal yang kecil) menggunakan CIDv1, format mendeskripsikan-diri yang moden. CID lama yang bermula dengan Qm menggunakan CIDv0 (SHA-256 berkod base58) — masih sah, masih boleh diselesaikan, tetapi bukan lagi output lalai untuk kandungan baharu.

Sifat utama

  • Deterministik — Fail yang sama sentiasa menghasilkan CID yang sama. Muat naik imej yang sama dua kali dan anda mendapat pengecam yang sama.
  • Unik — Perubahan satu bait pun menghasilkan CID yang berbeza sepenuhnya. Ini menjadikan CID bukti gangguan.
  • Pengesahan kendiri — Sesiapa yang menerima fail boleh mengira semula hash dan mengesahkan ia sepadan dengan CID yang diminta.
  • Tidak boleh diubah — CID sentiasa menunjuk kepada kandungan yang sama. Anda tidak boleh menukar apa yang diselesaikan oleh CID.

CID dalam IPFS.NINJA

Setiap fail yang anda muat naik mengembalikan CID dalam respons API. Gunakannya untuk:

  • Mengakses fail melalui gateway: ipfs.ninja/ipfs/<CID>
  • Mendapatkan metadata fail: GET /file/<CID>
  • Merujuk kandungan on-chain (NFT, smart contract)
  • Berkongsi dengan sesiapa — mereka boleh mengesahkan kandungan sepadan

CIDv0 vs CIDv1

SifatCIDv0CIDv1
PrefixQm...bafy... (dag-pb, direktori & fail berbilang cebisan), bafk... (raw, kandungan blok tunggal yang kecil), dan lain-lain mengikut codec
Fungsi hashSHA-256 sahajaPelbagai (SHA-256, Blake2b, dll.)
PengekodanBase58 (huruf campuran)Multibase — base32 secara lalai (huruf kecil, selamat-DNS)
Mendeskripsikan diriTidakYa (termasuk maklumat codec + hash)
Chunker256 KiB lalai lama1 MiB mengikut IPIP-0499
Pengekodan leafDibungkus dalam dag-pbBait mentah (raw-leaves=true)

Apa yang IPFS.NINJA hasilkan

Muat naik dan sematan yang dibuat selepas 2026-07-13 mengembalikan CIDv1 secara lalai: pengekodan base32 CIDv1, cebisan 1 MiB, raw leaves — profil IPIP-0499 unixfs-v1-2025. Implikasi praktikal:

  • Fail kecil (≤ 1 MiB) dikembalikan sebagai bafk... (CIDv1 raw blok tunggal)
  • Fail dan direktori yang lebih besar dikembalikan sebagai bafy... (CIDv1 dag-pb)
  • Fail yang dimuat naik melalui kami mendapat CID yang sama seperti yang dikira oleh mana-mana alat moden (Helia, Kubo terkini, ipfs-car) daripada bait yang sama

Keserasian ke belakang

CID Qm... lama daripada muat naik terdahulu kekal boleh diselesaikan sepenuhnya — gateway, POST /pin, GET /file/:cid, resolver IPNS, dan setiap endpoint lain menerima kedua-dua format buat selama-lamanya. Jika anda mempunyai CID Qm... daripada muat naik terdahulu, tiada apa yang anda bina berhenti berfungsi.