内容标识符,或CID,是在IPFS中用于指向材料的标签。这并不表示内容存储在哪里,但它是基于内容本身生成的一种地址。无论其底层内容的大小如何,CID都很短。
CID是基于内容的加密哈希。这意味着:
- 内容的任何差异都会产生不同的CID
- 使用相同设置添加到两个不同IPFS节点的同一内容将生成完全相同的CID。
CID格式
CID可以采用具有不同编码基础或CID版本的几种不同形式。许多现有的IPFS工具仍然生成的是v0版CID,尽管files
(MFS)和object
操作现在默认使用CIDv1版。
版本0
首次设计IPFS时,我们使用BASE 58编码的多重哈希作为内容标识符(这比较新的CID更简单,但灵活性更低)。默认情况下,CIDv0仍用于许多IPFS操作,因此您通常应尽量尝试支持v0。
如果CID是以“Qm”开头的46个字符,则它是CIDv0(有关更多详细信息,请检查CID规范中的解码算法)。
版本1
CID v1包含一些前导标识符,用于明确说明使用哪种表示以及内容哈希本身。这些包括:
这些前导标识符还提供向前兼容性,支持在将来的CID版本中使用的不同格式。
您可以使用CID的前几个字节来解释内容地址的其余部分,并知道在从IPFS获取内容后如何解码内容。有关更多详细信息,请查看CID规范。它包括解码算法和用于解码CID的现有软件实现的链接。
您可能还想查看CID检查器,以获取不同格式的CID的交互式细分。