IPFS操作教程4: 将文件添加到本地IPFS存储库中

Online
个人专栏
热度: 12989

IPFS操作教程4: 将文件添加到本地IPFS存储库中

IPFS操作教程4: 将文件添加到本地IPFS存储库中

教程目标

通过学习本小节,使你能够:

  • 添加一个文件到本地的IPFS存储库,包括了文件内容、文件名称、产生的目录
  • 添加目录文件到本地IPFS存储库
  • 明白为什么IPFS中,两个不同的文件,内容却是相同的
  • 通过使用目录的hash来读取该目录下文件的内容

学习步骤

第一步:创建一个你即将添加的文件

之前的课程中,我们已经有了文件mytextfile.txt。但是最好还是按下边的pipe命令,确保你的文件内容和教程中的一样。

$ echo "chaindesk is a good IT service Community" > mytextfile.txt

第二步:添加文件到本地IPFS存储库中

命令很简单,就是在命令中加上个-w,如下:

$ ipfs add -w mytextfile.txt 
added QmWKGV27xJZdZ9DzpFZMrU2RyFuVE6XEhUHRU7HMhvApYF mytextfile.txt
added QmV2HGWGF9XY4svFxyzsjawKEnW7R65dCi6Kx9vxbowCKo 

之前的教程中,我们上传文件的命令是ipfs add mytextfile1.txt,并没有-w的标签,最后返回了只是一个hash值。而这次操作,我们发现,返回了2个hash值。第一个hash值指的是文件内容对应的hash值;而第二个是上传文件后返回的目录hash,该目录下的文件就是mytextfile.txt。

第三步:列出目录下的信息

命令中-w标签是让ipfs产生一个目录,该目录下的文件就是上传的文件。想要进一步了解这一块的,可以使用ipfs add --help命令获取更多的信息。

列出目录下文件的信息,使用的命令是ipfs ls。为了显示信息对应的指什么,我们将使用-v标签,以方便更好的阅读信息,操作如下:

$ ipfs ls QmV2HGWGF9XY4svFxyzsjawKEnW7R65dCi6Kx9vxbowCKo
QmWKGV27xJZdZ9DzpFZMrU2RyFuVE6XEhUHRU7HMhvApYF 49 mytextfile.txt
$ ipfs ls -v QmV2HGWGF9XY4svFxyzsjawKEnW7R65dCi6Kx9vxbowCKo
Hash                                           Size Name
QmWKGV27xJZdZ9DzpFZMrU2RyFuVE6XEhUHRU7HMhvApYF 49   mytextfile1.txt

注:获取目录信息,我们必须用ipfs ls命令,而不是ipfs cat,后者是直接获取文件内容的。如果ipfs cat 目录hash,返回的将是报错,如下:

$ ipfs cat QmV2HGWGF9XY4svFxyzsjawKEnW7R65dCi6Kx9vxbowCKo
Error: this dag node is a directory

第四步:使用目录hash来读取目录下的文件内容

使用ipfs cat命令,而后边跟的是文件路径,操作如下:

$ ipfs cat QmV2HGWGF9XY4svFxyzsjawKEnW7R65dCi6Kx9vxbowCKo/mytextfile.txt
chaindesk is a good IT service Community

注解

将文件内容添加到IPFS存储库时,IPFS将计算文件内容的加密hash,并将该hash返回给您。然后,可以使用这个hash去引用文件的内容,并将内容从IPFS存储库中读取出来。

为了跟踪文件名和路径等信息,IPFS允许您在添加文件时“包装”目录和文件名信息。这样将会通过路径来检索IPFS存储库中的文件内容。

声明:本文为入驻“火星财经 专栏”作者作品,不代表火星财经官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
本内容旨在传递行业动态,不构成投资建议或承诺。