星鉴网>IPFS技术>IPFS入门教程:使用文件目录的哈希从IPFS中读取内容

IPFS入门教程:使用文件目录的哈希从IPFS中读取内容

2018/12/24 16:12:03 1755人阅读

【导读】 将文件添加到IPFS,包括其文件名,权限等,将目录添加到IPFS。

完成本课后,您将能够:


将文件添加到IPFS,包括其文件名,权限等


将目录添加到IPFS


说明IPFS如何表示具有相同内容的两个文件


使用包含该文件的目录的哈希从IPFS中读取内容


操作步骤


第1步:创建您要添加的文件


创建一个名为的文件mytextfile.txt,并将文本“version 1 of my text”放入其中。在命令行上执行此操作的一种简单方法是使用以下命令:


$ echo "version 1 of my text" > mytextfile.txt


第2步:将文件添加到IPFS


$ ipfs add -w mytextfile.txt

added QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy mytextfile.txt

added QmPvaEQFVvuiaYzkSVUp23iHTQeEUpDaJnP8U7C3PqE57w


在上一课中,当我们在ipfs add mytextfile.txt没有-w标志的情况下运行时,ipfs只返回一个哈希。这次它返回了两个哈希值。


在接下来的步骤中,我们将使用ipfs命令查看该目录和文件名信息以及我们如何使用它。


第3步:列出目录信息


该-w标志告诉ipfs包含目录和文件名信息以及内容 - 它“将文件包装在目录中”。有关此内容的更多信息,请运行ipfs add --help并阅读其中的说明。


要列出此目录和文件名信息,请使用ipfs ls。我们将使用该-v标志来包含头信息。要了解有关此命令的更多信息,请运行

ipfs ls --help

$ ipfs ls -v QmPvaEQFVvuiaYzkSVUp23iHTQeEUpDaJnP8U7C3PqE57w

Hash Size Name

QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy 29 mytextfile.txt


此命令ipfs ls QmPvaEQFVvuiaYzkSVUp23iHTQeEUpDaJnP8U7C3PqE57w转换为“列出散列为QmPvaEQFVvuiaYzkSVUp23iHTQeEUpDaJnP8U7C3PqE57w的目录所引用的文件”。


响应显示该目录包含一个文件 - “mytextfile.txt” - 该文件内容的哈希值 QmZtmD2q...


请注意,我们必须使用ipfs ls而不是ipfs cat阅读此信息,因为它是一个目录。如果您尝试使用以下内容读取目录ipfs cat,则会收到错误消息:


$ ipfs cat QmPvaEQFVvuiaYzkSVUp23iHTQeEUpDaJnP8U7C3PqE57w

错误:此dag节点是一个目录


第4步:使用父目录的哈希读取文件的内容


我们可以使用目录的哈希来读取文件的内容,如下所示:


$ ipfs cat QmPvaEQFVvuiaYzkSVUp23iHTQeEUpDaJnP8U7C3PqE57w/mytextfile.txt

version 1 of my text


此命令转换为“返回在mytextfile.txt散列为QmPvaEQFVvuiaYzkSVUp23iHTQeEUpDaJnP8U7C3PqE57w的目录中引用的内容”。


说明


将文件添加到ipfs存储库时,ipfs会计算文件内容的加密哈希值并将该哈希值返回给您。然后,您可以使用哈希引用文件的内容并从ipfs存储库中读取它们。


为了跟踪文件名和路径等信息,ipfs允许您“围绕”添加的文件内容“包装”目录和文件名信息。该目录和文件名信息具有自己的哈希值,这使得我们可以使用哈希、文件名和目录名称组合的“ipfs paths”从ipfs存储库中检索内容。

11

参与讨论

登录后参加评论......

全部评论 0

作者

返回顶部