ipfs引脚和MFS之间是什么连接?

时间:2019-01-13 10:56:55

标签: ipfs

IPFS中有两个概念,它们之间的联系对我来说不是很清楚:IPFS引脚和IPFS MFS。

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

另一方面,

IPFS MFS允许对对象进行处理,就像它们在文件系统中一样。例如,我可以使用ipfs files cp <id> <name>将特定的外部对象复制到MFS。之后,我可以使用ipfs files stat <name>找出其ID。

问题是:

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

1 个答案:

答案 0 :(得分:2)

这些非常好的问题!分别回答

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

默认情况下,它们不是固定的。如果希望Pinner跟踪这些文件,则也需要将其固定。您可以执行ipfs files stat /somePath,获取哈希值,然后将其固定。

让人感到困惑的部分是,GC将进行“尽力而为”的固定,其中MFS DAG根目录访问的文件也将不是GC。

示例: -您将文件添加到MFS -您在MFS上对该文件进行了修改 -旧版本将获得GC版本 -最新版本将不受GC的保护

如果要保护以前的版本,可以使用Pin API。

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

关于1的回答,您需要手动将其固定,以查看固定系统对其进行跟踪。

  1. 如果我使用ipfs add添加数据,然后使用ipfs文件cp将其添加到MFS,然后使用ipfs pin rm取消固定,是否将保存数据?

也许您现在就明白了。要澄清:

  • 固定是对垃圾收集(GC)的一种保护。如果固定,GC不会将其删除
  • MFS不会自动固定文件。 GC只是尝试与MFS成为朋友,而不是MFS根目录可以访问的GC文件。

    1. IPFS MFS是使用数据的更可靠方法吗?

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