如何将文件内容添加到IPFS,使用哈希值从IPFS读取内容。
本文将为大家介绍如何将文件内容添加到IPFS,使用哈希值从IPFS读取内容。
操作步骤:
步骤1:创建一个文件,您将添加到IPFS
您可以将任何类型的内容添加到IPFS。在本文中,我们将一些文本内容放入`.txt`文件中,但是您可以对任何内容或任何文件执行相同的过程。
为该示例创建一个新目录将是一个好主意。导航到您喜欢放置新文件夹的位置(例如~/Desktop),然后创建一个新目录并进入该目录。这是一个示例命令:
$ cd ~/Desktop
$ mkdir ipfs-tutorial
$ cd ipfs-tutorial
现在,创建一个名为的文件mytextfile.txt,并将文本“我的文本的版本1”放入其中。在命令行上执行此操作的一种简单方法是使用以下命令:
$ echo \”version 1 of my text\” > mytextfile.txt
您可以使用以下cat命令读取文件的内容:
$ cat mytextfile.txt
version 1 of my text
步骤2:将文件添加到IPFS
$ ipfs add mytextfile.txt
added QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy mytextfile.txt
保存QmZtmD2qt…ipfs返回的哈希。这是内容的加密哈希。如果文件的内容更改,则哈希将更改,但是如果文件的内容保持不变,则哈希将始终相同。
步骤3:从IPFS中读取内容
就像常规cat命令允许您读取文件的内容一样,该ipfs cat命令允许您读取已添加到ipfs的文件的内容。
使用ipfs cat命令通过传递内容的加密哈希值来读取内容-这是ipfs运行时返回的哈希值ipfs add mytextfile.txt。
$ ipfs cat QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy
version 1 of my text
请注意,这将返回文件的内容,而不是文本文件本身。那是因为QmZtmD2qt…是内容的哈希,而不是文件本身。我们将在下一步中进行测试。
步骤4:确认哈希指向内容,而不是文件
当我们使用ipfs cat读取文件的内容,它返回的内容的文件,而不是文本文件本身。那是因为哈希QmZtmD2qt…是内容的哈希。我们可以通过直接将文本内容添加到IPFS而不用将其放入文件中来进行测试。
$ echo \”version 1 of my text\” | ipfs add
added QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy
哈希应与添加mytextfile.txt时获得的哈希完全相同。如果要进行三次检查,则可以根据需要多次运行每个命令。哈希值应始终相同。
$ ipfs add mytextfile.txt
added QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy mytextfile.txt
$ echo \”version 1 of my text\” | ipfs add
added QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy
$ cat mytextfile.txt | ipfs add
added QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy
只要内容保持不变,您将始终获得相同的哈希值。就IPFS而言,它是相同的内容。
步骤5:更改内容并获取其他哈希
现在,将文本内容更改为“我的文本的版本2”,并将其添加到ipfs。您将获得不同的哈希值。
正如我们在上一步中确认的那样,您可以将新文本直接添加到IPFS,也可以修改mytextfile.txt并将其添加到IPFS。无论哪种方式,您都会得到相同的哈希值。
$ echo \”version 2 of my text\” | ipfs add
added QmTudJSaoKxtbEnTddJ9vh8hbN84ZLVvD5pNpUaSbxwGoa QmTudJSaoKxtbEnTddJ9vh8hbN84ZLVvD5pNpUaSbxwGoa
步骤6:将内容从IPFS传输到文件中
您可以从ipfs中读取此内容(任何版本)并将其写入文件。例如,您可以将mytextfile.txt的内容从“版本1”切换到“版本2”,然后根据需要进行多次返回:
$ ipfs cat QmTudJSaoKxtbEnTddJ9vh8hbN84ZLVvD5pNpUaSbxwGoa > mytextfile.txt
$ cat mytextfile.txt
version 2 of my text
$ ipfs cat QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy > mytextfile.txt
$ cat mytextfile.txt
version 1 of my text
您也可以将ipfs中的内容写入一个全新的文件中。
$ ipfs cat QmZtmD2qt6fJot32nabSP3CUjicnypEBz7bHVDhPQt9aAy > anothertextfile.txt
$ cat anothertextfile.txt
version 1 of my text