Как проверить восстановление релиза IPFS из CAR без доступа к сети
На подключённой ноде каталог может читаться даже при неполной резервной копии: недостающие блоки приходят от пиров. Изолированное восстановление показывает, какие данные действительно есть в архиве.
Импортируйте архив в пустой репозиторий
Запишите в ROOT_CID адрес каталога релиза с файлом manifest.json. Выполните команды в папке, где ещё нет release.car. Экспорт идёт с исходной ноды, затем создаётся отдельный временный репозиторий Kubo. Импорт и чтение выполняются без сетевого доступа.
ipfs dag export "$ROOT_CID" > release.car
restore_repo=$(mktemp -d)
IPFS_PATH="$restore_repo" ipfs init
IPFS_PATH="$restore_repo" ipfs --offline dag import release.car
IPFS_PATH="$restore_repo" ipfs --offline cat "/ipfs/$ROOT_CID/manifest.json"
Прочитайте файлы, которые нужны приложению
Сравните манифест с копией из релиза, затем прочитайте крупные файлы и сверьте их контрольные суммы. Успешное чтение маленького манифеста проверяет лишь блоки на пути к нему. Если внутри текстом записан другой CID, отдельно экспортируйте и тот корень. Ожидаемый CID релиза храните вне архива, чтобы тест обнаружил подмену всего набора файлов.