Какая связь между ipfs pin и MFS? - PullRequest
0 голосов
/ 13 января 2019

В IPFS есть две концепции, связь которых мне не очень понятна: вывод IPFS и IPFS MFS.

Насколько я понимаю, ipfs pin позволяет вам хранить контент на вашем узле, защищая его от автоматического удаления с помощью сборщика мусора. В этом случае, если я сам добавлю контент, используя ipfs add <file>, он будет автоматически закреплен, а затем его можно будет закрепить и удалить только вручную.

IPFS MFS, с другой стороны, позволяет манипулировать объектами, как если бы они были в файловой системе. Например, я могу скопировать определенный внешний объект в 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 более надежным способом работы с данными?

1 Ответ

0 голосов
/ 14 января 2019

эти довольно хорошие вопросы! Отвечая на них отдельно

  1. Защищены ли файлы в MFS от удаления сборщиком мусора?

Они не по умолчанию Закреплены . Вам также нужно будет закрепить эти файлы, если вы хотите, чтобы они отслеживались Pinner. Вы можете сделать ipfs files stat /somePath, получить хеш и затем закрепить этот хеш.

Ситуация, в которой возникает путаница, заключается в том, что GC будет делать закрепление «наилучшим образом», в котором файлы, к которым обращается корень DAG MFS, также не будут GC.

Пример: - Вы добавляете файл в MFS - Вы вносите изменения в этот файл в MFS - Предыдущая версия получит GC'ed - Последняя версия будет защищена от GC

Если вы хотите защитить предыдущий, вы можете использовать Pin API.

  1. Если защищено, то почему они не отображаются в ipfs pin ls?

Как и в ответе на вопрос 1. Вам нужно будет закрепить их вручную, чтобы увидеть, как они отслеживаются системой закрепления.

  1. Будут ли сохранены данные, если я добавлю их с помощью ipfs add, затем добавлю их в MFS с помощью файлов ipfs cp, а затем откреплю с помощью ipfs pin rm?

Возможно, вы уже поняли суть. Для уточнения:

  • Закрепление является защитой для сборки мусора (GC). Если закреплено, GC не удалит его
  • MFS не автоматически закрепляет файлы. GC просто пытается дружить с MFS, а не с файлами GC, доступными для корня MFS.

    1. Является ли IPFS MFS более надежным способом работы с данными?

Это более привычный способ, когда вы получаете обычные структуры каталогов и Unix-подобные API для работы с файлами. Он обрабатывает манипуляции с графиком для вас.

...