IPFS中有两个概念,它们之间的联系对我来说不是很清楚:IPFS引脚和IPFS MFS。
据我了解,ipfs pin
允许您将内容保留在节点上,以防止使用垃圾收集器自动删除内容。在这种情况下,如果我使用ipfs add <file>
自己添加内容,则该内容将被自动固定,然后只能手动将其取消固定和删除。
IPFS MFS允许对对象进行处理,就像它们在文件系统中一样。例如,我可以使用ipfs files cp <id> <name>
将特定的外部对象复制到MFS。之后,我可以使用ipfs files stat <name>
找出其ID。
问题是:
ipfs pin ls
中?ipfs add <file>
添加数据,然后使用ipfs files cp <id> <name>
将其添加到MFS,然后使用ipfs pin rm <id>
取消固定,会保存数据吗?答案 0 :(得分:2)
这些非常好的问题!分别回答
默认情况下,它们不是固定的。如果希望Pinner跟踪这些文件,则也需要将其固定。您可以执行ipfs files stat /somePath
,获取哈希值,然后将其固定。
让人感到困惑的部分是,GC将进行“尽力而为”的固定,其中MFS DAG根目录访问的文件也将不是GC。
示例: -您将文件添加到MFS -您在MFS上对该文件进行了修改 -旧版本将获得GC版本 -最新版本将不受GC的保护
如果要保护以前的版本,可以使用Pin API。
关于1的回答,您需要手动将其固定,以查看固定系统对其进行跟踪。
也许您现在就明白了。要澄清:
MFS不会自动固定文件。 GC只是尝试与MFS成为朋友,而不是MFS根目录可以访问的GC文件。
当您获得常规目录结构和Unix之类的API来处理文件时,这是一种更为熟悉的方法。它为您处理图形操作。