ipfs pin 和 MFS 之间有什么联系?

Rai*_*ran 11 ipfs

IPFS中有两个概念,其中的联系我不是很清楚:IPFS pin和IPFS MFS。

据我了解,ipfs pin允许您将内容保留在您的节点上,保护它不被垃圾收集器自动删除。在这种情况下,如果我使用 自己添加内容ipfs add <file>,那么它将自动固定,然后只能手动取消固定和删除。

另一方面,IPFS MFS 允许对对象进行操作,就好像它们在文件系统中一样。例如,我可以使用ipfs files cp <id> <name>. 之后,我可以使用ipfs files stat <name>.

问题是:

  1. MFS 中的文件是否被垃圾收集器删除?
  2. 如果受保护,那么为什么它们不显示在ipfs pin ls?
  3. 如果我使用添加数据ipfs add <file>,然后使用将其添加到 MFS ipfs files cp <id> <name>,然后使用取消固定数据,是否会保存数据ipfs pin rm <id>
  4. IPFS MFS 是一种更可靠的数据处理方式吗?

Dav*_*ias 9

这些很好的问题!分别回答

  1. MFS 中的文件是否被垃圾收集器删除?

默认情况下它们不是Pinned。如果您希望 Pinner 跟踪这些文件,您还需要固定这些文件。您可以执行 a ipfs files stat /somePath,获取散列,然后固定该散列。

令人困惑的部分是 GC 将“尽力而为”固定,其中 MFS DAG 的根访问的文件也不会是 GC。

例子:

  • 您将文件添加到 MFS
  • 您在 MFS 上对该文件进行了修改
  • 之前的版本会被 GC 处理
  • 最新版本将受到 GC 保护

如果你想保护以前的,你可以使用 Pin API。

  1. 如果受保护,那么为什么它们不显示在ipfs pin ls?

正如在 1. 上回答的那样,您需要手动固定它们才能看到它被固定系统跟踪。

  1. 如果我使用添加数据ipfs add <file>,然后使用将其添加到 MFS ipfs files cp <id> <name>,然后使用取消固定数据,是否会保存数据ipfs pin rm <id>

也许你现在已经明白要点了。澄清:

  • 固定是对垃圾收集 (GC) 的一种保护。如果固定,GC 不会删除它
  • MFS 不会自动固定文件。GC 只是试图与 MFS 成为朋友,而不是 MFS 根可访问的 GC 文件。
  1. IPFS MFS 是一种更可靠的数据处理方式吗?

当您获得常规目录结构和类 Unix 的 API 来操作文件时,这是一种更熟悉的方式。它为您处理图形操作。