Market-making bot v7.0.0: кэширование запросов, новые команды и настройка базы данных

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

Кэширование запросов
API бирж ограничивают частоту запросов, и при активной торговле бот может столкнуться с ошибкой 429 Rate limit exceeded. Это прерывает торговлю и в некоторых случаях может привести к блокировке аккаунта со стороны биржи.

Новая функция кэширования решает эту проблему, объединяя результаты запросов балансов, стаканов и открытых ордеров в течение короткого интервала — примерно одной-двух секунд. Ранее это была платная функция, теперь кэширование доступно всем пользователям.
Новые команды
Команда /help теперь отображает базовую информацию о программном обеспечении бота и его конфигурации. Добавлены дополнительные команды для проверки состояния биржи и управления отдельными ордерами:
/orderbook [pair] [count] возвращает текущие заявки на покупку и продажу из стакана.

/trades [pair] [count] возвращает самые свежие сделки.

/ticker [pair] предоставляет данные тикера в формате JSON, аналогично команде /rates.

/order {orderId} возвращает детали конкретного ордера по его идентификатору.

/cancel {orderId} отменяет конкретный ордер по идентификатору и возвращает его детали.

Настройка базы данных
Теперь вы можете задать параметры базы данных в конфигурационном файле, включая имя базы данных. Это позволяет запускать несколько экземпляров бота на одном сервере. Торговля может потреблять значительные ресурсы CPU и RAM, поэтому перед запуском нескольких экземпляров проверьте нагрузку на ресурсы.
Чтобы настроить базу данных, отредактируйте файл config.jsonc и измените параметры db:

Изменение совместимо с предыдущими версиями: если конфигурация не обновлена, бот использует параметры базы данных по умолчанию.
Исправления коннекторов и другие улучшения
Коннекторы Azbit и P2B получили исправления для getOrderDetails(), включая обходные решения для недостатков в API обеих бирж. Модули Command, Order book и Trader были рефакторены, а в рамках постоянной работы по улучшению качества кода добавлены типы TypeScript. Обновлены зависимости, улучшено логирование и исправлено несколько мелких ошибок.

Бот продолжает предоставлять информативные уведомления, чтобы операторы могли отслеживать торговую активность.

Релиз и полный список изменений доступны на GitHub: v7.0.0.