当前位置:首页区块链【行业干货】详解IPFS示例!

【行业干货】详解IPFS示例!

IPFS

SOLid; border-color: #f3e3b5 #f3e3b5 rgba(255, 255, 255, 0) rgba(255, 255, 255, 0); overflow-wrap: break-word !important;”>

IPFS最初是由Juan Benet所提出,目的是试图确立一个能够快速移动的版本化科学数据系统,版本控制可以让您随时间转变跟踪软件状态(类似Git)。

【行业干货】详解IPFS示例!

01

IPFS示例

手艺检查和IPFS(星际文件系统)是经由测试的互联网手艺的综合,例如DHTs,Git版本系统和Bittorrent。它创建了一个P2P群,可以交流IPFS工具。IPFS工具的总数形成了一个经由加密验证的数据结构,称为Merkle DAG,该数据结构可用于对许多其他数据结构举行建模。我们将在本文中先容IPFS工具和Merkle DAG,并提供可以使用IPFS建模的结构示例。

02

IPFS工具

IPFS本质上是一个用于检索和共享IPFS工具的P2P系统。IPFS工具是具有两个字段的数据结构:

数据——巨细小于256 kb的非结构化二进制数据的黑点。

链接——链接结构的数组,这些是到其他IPFS工具的链接。

链接结构具有三个数据字段:

名称——链接的名称。

哈希——链接的IPFS工具的哈希。

巨细——链接的IPFS工具的累积巨细,包罗追随其链接的位置。

该尺寸领域主要用于优化P2P网络,这里我们将基本忽略它,由于从概念上讲,逻辑结构不需要它。

IPFS工具通常由其Base58编码的哈希引用。

例如,让我们使用IPFS下令行工具查看带有哈希

QmarHSr9aSNaPSR6G9KFPbuLV9aEqJfT

k1y9B8pdwqK4Rq的IPFS工具(请在家实验):

【行业干货】详解IPFS示例!1

读者可能会注重到,所有哈希均以“ Qm”开头。这是由于哈希实际上是multihash,这意味着哈希本身在multihash的前两个字节中指定了哈希函数和哈希长度。在上面的示例中,十六进制的前两个字节为1220,其中12示意这是SHA256哈希函数,而20示意哈希的长度(以字节为单元),即32个字节。

数据和命名链接为IPFS工具聚集提供了Merkle DAG的结构——DAG示意有向无环图,Merkle示意这是一个经由加密认证的数据结构,使用加密哈希来处置内容。这是留给读者的一个演习来思索为什么在这个图表中不能能有循环。

为了可视化图形结构,我们将通过一个图形来可视化IPFS工具,该图中包罗节点中的数据,链接被定向到其他IPFS工具的图边,其中链接的名称是图边上的一个标签。上面的示例如下所示:

【行业干货】详解IPFS示例!2

现在我们将举例说明可以由IPFS工具示意的种种数据结构。

02

文件系统

IPFS可以轻松示意由文件和目录组成的文件系统。

小文件

一个小文件(lt;256 kB)由IPFS工具示意,数据是文件内容(加上小页眉和页脚),没有链接,即链接数组为空。请注重,文件名不是IPFS工具的一部分,因此两个名称差别且内容相同的文件将具有相同的IPFS工具示意形式,因此具有相同的哈希值。

我们可以使用下令ipfs向IPFS添加一个小文件:

【行业干货】详解IPFS示例!3

我们可以使用ipfs cat查看上述IPFS工具的文件内容:

【行业干货】详解IPFS示例!4

使用ipfs工具查看基础结构可获得收益:

【行业干货】详解IPFS示例!5

我们将该文件可视化如下:

【行业干货】详解IPFS示例!6

大文件

大文件(gt; 256 kB)由小于256 kB的文件块的链接列表示意,而且只有最小数据指定此工具示意大文件。指向文件块的链接的名称为空字符串。

【行业干货】详解IPFS示例!7
【行业干货】详解IPFS示例!8
【行业干货】详解IPFS示例!9

目录结构

目录由指向代表文件或其他目录的IPFS工具的链接列表示意。链接的名称是文件和目录的名称。例如,思量目录test_dir的以下目录结构:

【行业干货】详解IPFS示例!10

文件hello.txt和my_file.txt都包罗字符串Hello World!\ n。文件testing.txt包罗字符串Testing 123 \ n。

当将此目录结构示意为IPFS工具时,它看起来像这样:

【行业干货】详解IPFS示例!11

注重,对包罗Hello World!\ n的文件举行了自动重复数据删除,\ n,该文件中的数据仅存储在IPFS中的一个逻辑位置(由其哈希地址寻址)。

IPFS下令行工具可以无缝地追随目录链接名称来遍历文件系统:

【行业干货】详解IPFS示例!12

版本文件系统

IPFS可以代表Git用于版本化文件系统的数据结构。Git提交工具在Git Book中举行了形貌。在撰写本文时,尚未完全指定IPFS提交工具的结构,讨论仍在举行中。

提交工具的主要属性是它具有一个或多个链接,其名称为parent0,parent1等,指向先前的提交,而且具有名称工具的链接(在Git中称为tree),该链接指向该工具引用的文件系统结构。

我们以前面的文件系统目录结构以及两次提交为例:第一次提交是原来的结构,并在第二次提交,我们已经更新了文件my_file.txt,示意另一个天下,而不是原始的“Hello World!”。

【行业干货】详解IPFS示例!13

这里还要注重,我们具有自动重复数据删除功效,因此第二个提交中的新工具只是主目录,新目录my_dir和更新后的文件my_file.txt。

IPFS/Filecoin背后的投资机构介绍

在之前的文章中我们讲到Filecoin与IPFS是相辅相成,互补共生的关系。Filecoin通过经济奖励的机制来促进IPFS的发展,完善IPFS的技术短板。作为IPFS分布式存储的唯一激励层,Filecoin自诞生起就万众瞩目,更是资本风投的宠儿。 2018年Filecoin**融资就打破了

温馨提示:

文章标题:【行业干货】详解IPFS示例!

文章链接:https://www.btchangqing.cn/198204.html

更新时间:2021年02月24日

本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。

区块链

Filecoin网络全球容量突破25亿GB

2021-2-24 10:41:25

区块链

收评:区块链观点大幅下挫、快手跌5.24%市值蒸发近千亿港元

2021-2-24 10:42:45

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索