cryptofoundry

Связаться с cryptofoundry

Расскажите, что вы хотите создать или автоматизировать.

Электронная почта
[email protected]
ADAMANT Messenger
Открыть в ADAMANT
Статья

ADAMANT ComServer 2.0: управление парком ботов для самостоятельного маркет-мейкинга

ADAMANT MessengerИз кузницы ↗
ADAMANT ComServer 2.0: управление парком ботов для самостоятельного маркет-мейкинга

По мере развития токен-проектов и роста активности поставщиков ликвидности поддержание глубоких книг ордеров, узких спредов и стабильных объемов торгов редко удается реализовать на одной централизованной бирже. Серьезная деятельность по маркет-мейкингу обычно требует запуска множества экземпляров ботов на разных площадках. ADAMANT Trade Bot Communication Server (ComServer) версии 2.0.0 решает проблему операционных сложностей при управлении таким парком, заменяя ручные SSH-сессии, проверку логов и разрозненные скрипты единым аутентифицированным центром управления.

Оркестрация всего парка ботов

ComServer — это самохостируемый демон-ретранслятор, который объединяет торговые боты ADAMANT через аутентифицированный канал Socket.IO. Операторы управляют всем парком через единый коммуникационный хаб, вместо того чтобы взаимодействовать с каждым ботом по отдельности.

Для быстрого получения обзора балансов на всех подключенных биржах достаточно одной команды:

/remote balances all

ComServer перенаправляет запрос по одному боту на каждый биржевой аккаунт, собирает ответы и возвращает детерминированно отсортированную сводку активов с приоритетом по биржам и котируемым монетам.

Синхронизированная корректировка стратегий выполняется столь же лаконично. Рыночная волатильность или важные анонсы часто требуют оперативного изменения параметров для всех ботов сразу. Команды, такие как /remote make price 1.1 USDT in 5 days -all, координируют всех ботов для достижения целевой цены, /remote enable pw 1.00–1.10 USDT -all устанавливает более узкие коридоры спреда для всех книг ордеров, а /remote make volume +25% -all масштабирует глубину ликвидности по всему парку. Для точечного управления операторы могут обращаться к конкретным ботам по их уникальному идентификатору или недвусмысленному частичному ID вместо широковещательной рассылки.

Что изменилось в версии 2.0.0

Версия 2.0.0 была полностью переписана с упором на безопасность передачи данных, операционную устойчивость и программный минимализм.

Безопасность передачи данных

Поскольку ComServer передает критически важные операционные команды — размещение ордеров, запрос балансов — безопасность передачи данных имеет решающее значение. Протокол связи теперь использует аутентифицированное шифрование AES-256-GCM, пришедшее на смену устаревшему режиму AES-256-CTR. Каждый фрейм шифруется с использованием эфемерного 96-битного одноразового номера (nonce) и проверяется на предмет подделки, искажения или атак типа «bit-flipping».

Ключи связи динамически формируются из общего SECRET_KEY с помощью HKDF, что обеспечивает строгое разделение ролей между сервером и ботом. Дополнительные аутентифицированные данные (AAD) криптографически привязывают личность отправителя, роль и временные метки (в миллисекундах) к каждому пакету данных, предотвращая отражение фреймов между ботами. Высокопроизводительный кэш ReplayCache отслеживает одноразовые номера с емкостью до 100 000 фреймов; если кэш заполняется во время атаки, он безопасно отклоняет новые фреймы, не вытесняя старые, что полностью исключает окно для повторного воспроизведения (replay). Аутентификация клиентов проверяется внутри промежуточного ПО Socket.IO до принятия сокета — неавторизованные или некорректные рукопожатия прерываются до установления соединения.

Сокращение зависимостей

Дерево зависимостей было радикально оптимизировано. Общее количество пакетов сократилось с 615 до 141, что позволило устранить 32 исторические уязвимости — включая 2 критические и 19 высокого уровня — доведя их число до нуля.

Инженерные и операционные аспекты

Среда выполнения ориентирована на Node.js 22.13+ с использованием чистых нативных ES-модулей, внедрением зависимостей и отсутствием глобального состояния. Когда активный бот переподключается после разрыва сети, ComServer немедленно удаляет зависшие («зомби») сокеты, чтобы команды не направлялись на неактивные соединения. Очереди ожидающих команд ограничены 1000 одновременных запросов для предотвращения исчерпания памяти под нагрузкой. Жизненный цикл PM2 предварительно настроен через ecosystem.config.cjs для корректной обработки сигналов (SIGINT, SIGTERM) с чистым завершением таймеров команд. Кодовая база включает 182 теста, охватывающих этапы модульного, интеграционного тестирования и жизненного цикла процессов с использованием тест-раннера Node.js и JSDoc с проверкой TypeScript.

Суверенитет самохостируемых решений

Программное обеспечение ADAMANT Market-Making и ComServer работают исключительно на собственном оборудовании оператора или в его частном облаке. Никакие торговые данные, секретные ключи или операционные инструкции не передаются на сторонние серверы. ComServer предоставляет возможности централизованного управления парком, характерные для институциональных торговых терминалов, сохраняя при этом модель безопасности открытого самохостируемого ПО: ваши ключи, ваши токены, ваша инфраструктура.

ADAMANT ComServer v2.0.0 доступен для пользователей премиум-версии ADAMANT Trade Bot.