Почему корневой блок большого файла IPFS занимает так мало места

Программа резервного копирования запросила блок по CID и получила несколько сотен байт вместо многомегабайтного файла. Корень UnixFS может содержать ссылки на блоки с данными файла.

Сравните два потока байтов

Укажите в FILE_CID корень доступного файла UnixFS из нескольких блоков. Используйте оболочку с проверкой ошибок внутри конвейера, например Bash с set -o pipefail. Вторая команда считает размер одного закодированного блока. Третья собирает файл и считает байты, которые получает читатель.

ipfs block stat "$FILE_CID"
ipfs block get "$FILE_CID" | wc -c
ipfs cat "$FILE_CID" | wc -c

Определите, что должна восстанавливать копия

Если нужен файл для скачивания, сравните результат ipfs cat с размером и контрольной суммой издателя. Для поблочной копии понадобятся все блоки, на которые ссылается корень прямо или через потомков. Один корень без них сохранит только структуру ссылок. У небольшого файла в одном сыром блоке оба размера могут совпасть, поэтому для теста возьмите файл из нескольких фрагментов.

docs.ipfs.tech Working with IPFS blocks