Skip to content

İçerik Tanımlayıcıları (CID'ler)

Her IPFS dosyasının aldığı benzersiz parmak izi.

CID nedir?

Bir İçerik Tanımlayıcısı (CID), IPFS'te bir veri parçasını benzersiz şekilde tanımlayan, kendini açıklayan bir etikettir. Dosyanın içeriğinin kriptografik hash'inden, kullanılan hash algoritması ve kodlama formatı hakkındaki meta verilerle birlikte türetilir.

bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

bafy ile başlayan (veya küçük tek bloklu içerik için bafk ile başlayan) CID'ler, modern kendini açıklayan biçim olan CIDv1'i kullanır. Qm ile başlayan eski CID'ler CIDv0 (base58 kodlanmış SHA-256) kullanır — hâlâ geçerli, hâlâ çözümlenebilir, ancak artık yeni içerik için varsayılan çıktı değil.

Temel özellikler

  • Deterministik — Aynı dosya her zaman aynı CID'yi üretir. Aynı görseli iki kez yükleyin ve aynı tanımlayıcıyı alırsınız.
  • Benzersiz — Tek baytlık bir değişiklik bile tamamen farklı bir CID üretir. Bu, CID'leri kurcalamaya karşı kanıt yapar.
  • Kendini doğrulayan — Bir dosyayı alan herkes hash'i yeniden hesaplayabilir ve istediği CID ile eşleştiğini doğrulayabilir.
  • Değişmez — Bir CID her zaman aynı içeriğe işaret eder. CID'nin neye çözümlendiğini değiştiremezsiniz.

IPFS.NINJA'da CID'ler

Yüklediğiniz her dosya API yanıtında bir CID döndürür. Şunlar için kullanın:

  • Gateway üzerinden dosyaya erişim: ipfs.ninja/ipfs/<CID>
  • Dosya meta verilerini alma: GET /file/<CID>
  • Zincir üzerinde içerik referansı (NFT'ler, akıllı sözleşmeler)
  • Başkalarıyla paylaşma — içeriğin eşleştiğini doğrulayabilirler

CIDv0 ve CIDv1

ÖzellikCIDv0CIDv1
Ön ekQm...bafy... (dag-pb, dizinler ve çok parçalı dosyalar), bafk... (raw, küçük tek bloklu içerik), codec'e göre başkaları
Hash fonksiyonuYalnızca SHA-256Birden fazla (SHA-256, Blake2b vb.)
KodlamaBase58 (karışık büyük/küçük harf)Multibase — varsayılan olarak base32 (küçük harf, DNS güvenli)
Kendini açıklayanHayırEvet (codec + hash bilgisi içerir)
Parçalayıcı256 KiB eski varsayılanIPIP-0499'a göre 1 MiB
Yaprak kodlamasıdag-pb içinde sarmalıHam baytlar (raw-leaves=true)

IPFS.NINJA'nın ürettiği

2026-07-13 tarihinden sonra yapılan yüklemeler ve sabitlemeler varsayılan olarak CIDv1 döndürür: CIDv1 base32 kodlaması, 1 MiB parçalar, ham yapraklar — IPIP-0499 unixfs-v1-2025 profili. Pratik sonuçlar:

  • Küçük dosyalar (≤ 1 MiB) bafk... (ham tek bloklu CIDv1) olarak döner
  • Daha büyük dosyalar ve dizinler bafy... (dag-pb CIDv1) olarak döner
  • Bizim üzerimizden yüklenen bir dosya, aynı baytlar için herhangi bir modern aracın (Helia, en son Kubo, ipfs-car) hesaplayacağı aynı CID'yi alır

Geriye dönük uyumluluk

Önceki yüklemelerden gelen eski Qm... CID'leri tam olarak çözümlenebilir olmaya devam eder — gateway, POST /pin, GET /file/:cid, IPNS çözümleyicileri ve diğer tüm uç noktalar her iki biçimi de süresiz olarak kabul eder. Önceki bir yüklemeden bir Qm... CID'niz varsa, oluşturduğunuz hiçbir şey çalışmayı durdurmaz.