Об этом проекте

UNICORN Binance Depth Cache Cluster (UBDCC) предоставляет совместимый, надёжный и синхронизированный сервис данных по order book Binance через REST API, решая типичные проблемы разработчиков торговых ботов. Он устраняет такие проблемы, как штрафы при перезапуске, дублирование WebSocket-подключений, тихое повреждение данных и ограничения по языкам, предлагая единый источник данных, доступный из Python, JavaScript, Go, Rust, Java, C# и других языков. Система гарантирует консистентность, проверяя номера последовательности каждого обновления, обнаруживая разрывы и выполняя автоматические ресинки, а также удаляя сиротские ценовые уровни за пределами топ-1000 Binance. Она обладает отказоустойчивостью с автоматическим failover, интеллектуальным rate limiting для API-вызовов и самовосстанавливающимся состоянием кластера, которое восстанавливается без внешних баз данных типа Redis или etcd. UBDCC спроектирован для multi-bot setups, арбитража, market making, быстрой разработки и polyglot stacks. Его архитектура включает компонент `mgmt` для состояния кластера, `restapi` как API-шлюз и несколько процессов `dcn`, выполняющих DepthCache. Эта конструкция позволяет масштабироваться от одной машины (например, 1 mgmt, 1 restapi, несколько DCN) до Kubernetes-кластера с множеством серверов и DCN-подов. Ключевые возможности: детерминированное состояние order book на основе UBLDC, автоматический failover с настраиваемой избыточностью, репликация самовосстанавливающегося состояния, language-agnostic доступ через HTTP/JSON, интеллектуальный rate limiting с поддержкой per-account API-учётных записей и масштабируемость в зависимости от доступных ресурсов. Предоставляет гибкую фильтрацию данных (топ N asks/bids, порог объёма), полную прозрачность с debug-опциями и полностью асинхронный, Cython-скомпилированный стек для максимальной производительности и быстрого доступа. Проект поддерживает различные биржи Binance, включая spot, margin, futures и options рынки, а также их testnets. Установка проста: `pip install ubdcc`, и кластер запускается одной командой (`ubdcc start`). Предоставляются интерактивная консоль и CLI-утилиты для управления, а также веб-панель UBDCC Dashboard с API Builder для удобного исследования и генерации кода.