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



IPFS中有两个概念,我不太清楚它们之间的联系:IPFS pin和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. MFS 中的文件是否受到垃圾回收器保护不被删除?

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

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

例:

  • 将文件添加到 MFS
  • 在 MFS 上对该文件进行修改
  • 以前的版本将获得GC处理
  • 最新版本将受到GC保护

如果要保护以前的内容,可以使用 Pin API。

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

如 1. 上的回答所示,您需要手动固定它们以查看固定系统正在跟踪它。

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

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

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

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

最新更新