Adamant IPFS Node: саморазворачивающийся узел для хранения и доставки файлов

Adamant IPFS Node: саморазворачивающийся узел для хранения и доставки файлов

Adamant IPFS Node — это саморазворачиваемый узел IPFS для хранения и доставки файлов приложений с фиксированным потреблением диска и детерминированной репликацией. Этот проект предоставляет REST API на базе Node.js и обеспечивает уникальный подход к управлению данными, отличаясь от стандартных решений, таких как Kubo.

Среди ключевых особенностей — контролируемая сетка пиров, управляемая жизненный цикл хранилища, а также механизмы для кросс-узловой репликации и восстановления. Это решение подойдет разработчикам, которые ищут гибкий и надежный способ хранения данных с возможностью ограничить использование диска, что может быть полезно для мобильных или веб-приложений.

Запуск осуществляется через Docker, а доступная документация поможет быстро начать. Имей в виду, что проект находится на этапе разработки, и ты не найдешь совместимость с Kubo, а также API, привычных для IPFS. Подходит для разработчиков, готовых внедрить собственное решение для хранения данных.

Общая информация

Проект ADAMANT IPFS Node представляет собой самостоянный узел хранения IPFS, предназначенный для доставки файлов в приложениях. Он содержит ограничение на использование дискового пространства и предоставляет функционал детерминированного воспроизведения, ремонта и контроля состояния здоровья, а также REST API.

Это независимый сервис на Node.js, который включает в себя узел Helia и хост libp2p, работающий через REST API на базе Express. Указанный узел не является оберткой для Kubo и не обеспечивает совместимый с Kubo API, а также не выступает в роли публичного шлюза IPFS. Узлы в развертывании обмениваются блоками, репликами и состоянием здоровья только между собой.

Функционал

  • REST-загрузка многофайловых данных и загрузка с помощью CID.
  • Контролируемая сетка узлов через TCP с шифрованием Noise и мультиплексированием Yamux.
  • Цикл жизни хранимых данных с ограничениями по дисковому пространству и уровням трафика.
  • Детерминированное размещение данных с использованием рендеву-хеширования.
  • Кросс-узловая репликация и возможность возобновляемого ремонта.
  • Контроль здоровья сети с достижениями и явной версией членства.

Установка и запуск

Для установки и запуска проекта можно использовать как исходный код, так и Docker.

Установка из исходников

git clone https://github.com/Adamant-im/ipfs-node.git
cd ipfs-node
nvm use
npm ci
npm run build
node dist/index.js

Перед запуском необходимо скопировать файл конфигурации:

cp config.default.json5 config.json5

Установка с помощью Docker

docker volume create ipfs-node-data

docker run -d \
  --name ipfs-node \
  --restart unless-stopped \
  -v ipfs-node-data:/data \
  -v "$PWD/config.json5:/app/config.json5:ro" \
  -p 127.0.0.1:4000:4000 \
  -p 4001:4001 \
  ghcr.io/adamant-im/ipfs-node:

Не забудь заменить `` на актуальную версию из раздела релизов.

Ограничения

  • Нет публичного участия в IPFS: не поддерживаются DHT, IPNS и публичные шлюзы.
  • Нет совместимости с Kubo API, поэтому клиенты Kubo не могут работать с этой службой.
  • Отсутствие идентификации конечного пользователя: загрузка и скачивание выполняются без аутентификации.
  • Статические списки узлов: каждый узел должен содержаться в списках других узлов.
  • Нет учета трафика для отдельных клиентов.
  • Нет возможности устанавливать абсолютный каталог данных; хранилище всегда находится в `$HOME/`.

Вывод

ADAMANT IPFS Node - это надежное решение для проектов, нуждающихся в ограниченном, частном и управляемом пространстве для хранения данных без сложности настройки публичного IPFS. Однако, если необходима общая функция публичного IPFS, данный проект не подойдет.

Радар проекта: 63 из 100 — крепкий проект

ИмпульсТемпЗрелостьСообществоСвежестьСтартПродакшенДовериеДокументацияЭкосистема63
  • Импульс 2 ≈ 3 звезды в месяц
  • Темп разработки 75 72 коммита за 12 недель
  • Зрелость 58 проекту 2 года, 1 релиз
  • Сообщество 32 10 участников, 4 форка
  • Свежесть 76 последний коммит — 1 месяц назад
  • Быстрый старт 90 есть: команда установки, Docker, сайт/демо
  • Готовность к продакшену 75 релиз v0.1.0, автосборка, тесты
  • Безопасность и доверие 60 лицензия GPL-3.0, организация
  • Документация 98 README 20.4 тыс. знаков, 22 раздела, папка docs
  • Экосистема 65 72 подписчика на обновления, 16 тем
Как считаем

Только открытые данные GitHub на 07.11.2026, без оценок нейросети. Каждая ось — от 0 до 100, итог — среднее.

  • Импульс — звёзд в день: за время наших замеров, а пока их нет — за всю жизнь проекта; 200 в день — максимум.
  • Темп разработки — коммитов за последние 12 недель; 300 — максимум. Пока GitHub не досчитал статистику, ось не учитывается.
  • Зрелость — возраст проекта (3 года — максимум) и число релизов (30 — максимум), поровну.
  • Сообщество — участников с коммитами (200 — максимум) и форков (5000 — максимум), поровну.
  • Свежесть — дней с последнего коммита: сегодня — 100, полгода и больше или архив — 0.
  • Быстрый старт — в README есть команда установки, раздел «быстрый старт» или примеры использования, в репозитории — Docker и папка примеров, у проекта есть сайт или демо.
  • Готовность к продакшену — релизы, версия 1.0 и выше, автосборка (GitHub Actions), тесты, лицензия, журнал изменений.
  • Безопасность и доверие — открытая лицензия (своя — половина балла), политика безопасности (SECURITY.md), проект организации, правила для участников, не в архиве.
  • Документация — объём и структура README, папка docs или сайт, оценка «здоровья сообщества» GitHub.
  • Экосистема — звёзды (50 тыс. — максимум), подписчики на обновления (1000 — максимум), темы репозитория.

Открыть на GitHub: Adamant-im/ipfs-node →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте