Вышла децентрализованная платформа совместной разработки Radicle 1.0

от автора

Разработчики выпустили P2P-платформу Radicle 1.0 для децентрализованной совместной разработки и хранения кода без привязки к конкретным серверам. При разработке проекта использовался язык Rust, а распространяется он под лицензиями Apache 2.0 и MIT. 

Уже готовы сборки для Linux и macOS, а параллельно развивают настольный клиент, веб- и консольный интерфейс.

Для управления кодом в Radicle используется Git, а также средства определения репозиториев в P2P-сети. Все данные сохраняются локально и доступны независимо от подключения к сети.

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

Для определения соседних узлов в P2P-сети применяется протокол Gossip, а для репликации данных между узлами протокол Heartwood, основанный на Git. Платформу можно интегрировать с существующими инструментами для разработки на Git. Для идентификации узлов и верификации репозиториев используется криптография на основе открытых ключей.

Каждый репозиторий получает свой уникальный идентификатор и самосертифицирован (self-certifying). Все действия в нём заверяются владельцем цифровой подписью. Для получения доступа к репозиторию достаточно, чтобы хотя бы один узел был онлайн.

Узлы в P2P-сети могут подписываться на определённые репозитории и получать обновления. Также можно создавать приватные репозитории, доступные только определённым узлам. Для управления используется концепция делегатов. В этой роли может выступать как отдельный пользователь так и бот или группа, привязанные к своему идентификатору. К каждому репозиторию может быть привязано несколько делегатов.

На системах пользователей Radicle-репозитории хранятся в виде обычных git-репозиториев, а внутри присутствуют дополнительные пространства имён для хранения данных пиров и форков, с которыми осуществляется текущая работа. Обсуждения, предлагаемые патчи и компоненты сохраняются в репозитории в виде совместных объектов.

В Radicle 1.0 включили:

  • реализацию расширяемого протокола для организации работы P2P-сети и синхронизации данных;

  • элементы социального взаимодействия;

  • протокол аутентификации и авторизации на основе открытых ключей;

  • CLI-интерфейс;

  • веб-интерфейс для навигации по репозиториям и узлам;

  • средства для обеспечения конфиденциальности, в том числе возможность работы через анонимную сеть Tor;

  • поддержку повторяемых сборок для проверки заявленных исходных текстов.

В будущем разработчики обещают также:

  • встроенные инструменты для непрерывной интеграции и доставки;

  • расширенные возможности рецензирования изменений;

  • систему уведомлений об изменениях в репозитории;

  • поддержку профилей пользователей и возможность привязки нескольких устройств;

  • поддержку тегов;

  • утилиты для модерирования и управления узлами.


ссылка на оригинал статьи https://habr.com/ru/articles/843918/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *