如何列出 IPFS 实例的所有当前固定文件?

Jon*_*com 2 ipfs

根据https://docs.ipfs.io/guides/concepts/pinning/,运行命令ipfs add hello.txt显然“固定”了文件“hello.txt”,但是为什么我在运行命令时没有看到后面列出的文件ipfs files ls? 它只列出我使用 IPFS 桌面应用程序添加的文件。为什么“hello.txt”现在不在列表中?

此外,我通过运行命令找到了一个所谓的“固定”对象列表ipfs pin ls,但是显示在那里的 CID 都没有对应于“hello.txt”,甚至没有任何前面提到的使用 IPFS 桌面添加的文件应用程序。

如何实际管理固定文件?

Rub*_*vra 5

很高兴看到这里出现了一些关于 IPFS 的问题!:)

所以,有两个不同的事情:

  • 引脚
  • 文件/文件夹(称为 MFS)

它们都大量重叠,但最好将 MFS 描述为基本上是一个本地可更改的文件系统,将“对象”映射为文件和文件夹。

您在本地 IPFS 客户端中有一个根 ( / ),您可以在其中放置文件和文件夹。

例如,您可以递归添加文件夹:

ipfs add -r --recursive /path/to/folder

您会得到一个 CID(内容 ID)。此内容 ID 将文件夹、其所有文件和所有文件结构表示为不可修改的数据结构。

此文件夹可以映射到本地根目录中的名称:

ipfs cp /ipfs/<CID> /<foldername>

Aipfs files ls现在将按名称显示此文件夹,而ipfs pin ls --type=recursive将显示内容 ID 为固定。

如果您使用(Web)GUI,文件将显示在“文件”选项卡下,而引脚显示在“引脚”选项卡下。


顺便提一下,您不必固定存储在 MFS 中的文件或文件夹,存储在那里的所有内容都将永久可用。

如果您要更改 MFS 中的文件夹、子文件夹、文件等,该文件夹将获得不同的 Content-ID,您的 pin 仍将确保旧版本保留在您的客户端上。

因此,如果您将另一个文件添加到您的文件夹中,例如cat /path/to/file | ipfs files write --create /folder/<newfilename>,您文件夹的 CID 将不同。

比较ipfs files stat --hash /folder,然后再。

希望我没有完全混淆你:D

此致

鲁本