内容标识符(CIDs)

内容标识符也称为CID,是用于指向IPFS中材料的标签。 它不会指示内容的存储位置,但会根据内容本身形成一种地址。 CID简短,无论其基础内容的大小如何。

CID基于内容的加密哈希,意思是:

  • 任何不相同的内容将会产生不同的CID
  • 内容中相同的部分添加到两个不同的IPFS节点通过相同的设置应该产生相同的CID。

CID格式

基于不同的编码或者是CID的版本使得CID具有不同的格式。多数存在的IPFS工具仍生成版本0的CID。但是file(MFS)和object现在默认使用CID V1.

版本0

当IPFS初始设计的时候,使用base58多次哈希作为内容标识符(虽然简单,但是与新的CID相比缺乏灵活性。)CIDv0仍然是许多IPFS默认选项,所以IPFS版本应该支持v0。

如果一个CID具有46字符并以Qm开头,说明是一个CIDv0

版本1

CID v1包含一些前导标识符,这些标识符明确说明了使用哪种表示形式以及内容哈希本身。 这些包括:

  • multibase前缀,指定用于其余CID的编码.
  • CID版本标识符,指示这是哪个CID版本
  • 一个多编解码器标识符,指示目标内容的格式-帮助人们和软件在获取内容后知道如何解释该内容

这些前导标识符还提供前向兼容性,支持在将来的CID版本中使用的不同格式。
您可以使用CID的前几个字节来解释内容地址的其余部分,并知道从IPFS提取内容后如何对其进行解码。 有关更多详细信息,请查看CID规范。 它包括解码算法,并链接到用于解码CID的现有软件实现。

探索CID

是否想分解特定CID的多库,多编解码器或多哈希信息? 您可以使用IPLD资源管理器中的CID检查器CID信息面板(两个链接都使用示例CID启动)来对不同格式的CID进行交互式细分。 还了解IPFS中CID的未来

IPFS学习-内容标识符(CIDs)的更多相关文章

  1. 20155328 2016-2017-2 《Java程序设计》 第十周学习内容总结

    20155328 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 JAVA和ANDROID开发学习指南 第22章 网络概览 两台计算机用于通信的语言叫做&qu ...

  2. IPFS学习-哈希

    Hashes 哈希函数是接受一些任意输入并返回固定长度值的函数.具体值取决于所使用的给定哈希算法,例如SHA-1(GIT在使用),SHA-256,或者是BLAKE2,但是给予一个输入使用哈希算法总是返 ...

  3. web前端开发学习内容

    应该 具备的 知识技能 :懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准                       代码能 兼容主流浏览器.ie6.7.8.9 ff 等.    ...

  4. STM32学习内容和计划

    一.STM32学习内容(流程) 1.学习STM32开发流程 ①MDK使用.建立工程.调试等 ②库开发方法 2.学习STM32常用外设开发 ①GPIO ②中断 ③定时器 ④串口 ⑤CAN 3.学习STM ...

  5. u-boot代码学习内容

    前言  u-boot代码庞大,不可能全部细读,只能有选择的读部分代码.在读代码之前,根据韦东山教材,关于代码学习内容和深度做以下预先划定. 一.Makefile.mkconfig.config.mk等 ...

  6. 2.Freshman阶段学习内容的确定

    我刷知乎.在知乎上答题的程序员,不是很牛逼就是更牛逼,说起各种系统.各种系统的各种版本.各种语言.数据库.算法.IT届的各种圣战都有板有眼.信手拈来.头头是道,不得不服.这导致了一些非常严重的问题:我 ...

  7. 20155209 2016-2017-2 《Java程序设计》第九周学习总结 ## 教材学习内容总结

    教材学习内容总结 JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据. 执行流程: •连接数据源,如:数据库. •为数据库传递查询和更新指令. •处理数据库响应并返回的结 ...

  8. JAVA第十周《网络编程》学习内容总结

    JAVA第十周<网络编程>学习内容总结 学习内容总结 1.初听到网络编程四个字可能会觉得很困难,实际上网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据,把数据发送到指定的位置, ...

  9. # 20145118 《Java程序设计》第4周学习总结 ## 教材学习内容总结

    20145118 <Java程序设计>第4周学习总结 教材学习内容总结 本周内容为教材第六.七两张内容. 重点概念: 1.面向对象中,子类继承父类,避免重复的行为定义,是一种简化操作. 2 ...

随机推荐

  1. PHP自动发红包代码示例

    <?php header('Content-type:text'); define("TOKEN", "weixin"); $wechatObj = ne ...

  2. 源码分析 RocketMQ DLedger 多副本之 Leader 选主

    目录 1.DLedger关于选主的核心类图 1.1 DLedgerConfig 1.2 MemberState 1.3 raft协议相关 1.4 DLedgerRpcService 1.5 DLedg ...

  3. MySQL数据库开发的36条原则【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  4. gitbook 入门教程之增强版 edit-link-plus 编辑此页插件

    Gitbook plugin add "edit this page" link, and intelligent recognition to Github or Gitlab ...

  5. 转:关于JAVA项目中CLASSPATH路径详解

    在dos下编译Java程序,就要用到classpath这个概念,尤其是在没有设置环境变量的时候.classpath就是存放.class等编译后文件的路径. javac:如果当前你要编译的Java文件中 ...

  6. deepin系统安装pip

    Deepin系统安装pip Deepin系统通常自带了两个版本的python,一个python2,一个python3.可以在命令行输入这两个命令测试下是不是有两个版本,都是有两个版本都存在的情况下,安 ...

  7. luogu P1832 A+B Problem

    题目背景 ·题目名称是吸引你点进来的 ·实际上该题还是很水的 题目描述 ·1+1=? 显然是2 ·a+b=? 1001回看不谢 ·哥德巴赫猜想 似乎已呈泛滥趋势 ·以上纯属个人吐槽 ·给定一个正整数n ...

  8. 2020年深度学习DeepLearning技术实战班

    深度学习DeepLearning核心技术实战2020年01月03日-06日 北京一.深度学习基础和基本思想二.深度学习基本框架结构 1,Tensorflow2,Caffe3,PyTorch4,MXNe ...

  9. iOS开发-CoreMotion框架

    转自: CoreMotion是一个专门处理Motion的框架,其中包含了两个部分 加速度计和陀螺仪,在iOS4之前加速度计是由 UIAccelerometer 类 来负责采集数据,现在一般都是用Cor ...

  10. react-native中更改android/ios的入口文件

    android 1.android /app/build.gradle project.ext.react = [ entryFile: "index.android.js" ] ...