Блог
Быстрый старт: запуск Barfinex Provider за 30 минут
Пошаговое руководство по запуску первого конвейера данных Barfinex локально. Клонируйте, настройте, запустите — и проверьте, что данные идут.
Что нужно
- Docker и Docker Compose
- Node.js 20+
- Git
На Windows используйте WSL2 для корректной работы Docker-сети.
1. Клонирование
git clone https://github.com/barfinex/monorepo.git cd monorepo/trading.apps
2. Настройка
cp apps/provider/.env.example apps/provider/.env
Отредактируйте apps/provider/.env:
PROVIDER_PORT=8081 PROVIDER_BEARER_TOKEN=your-dev-token-here DATABASE_URL=postgresql://barfinex:barfinex@localhost:5432/barfinex_provider REDIS_URL=redis://localhost:6379
Токен для локальной разработки — любая строка.
3. Запуск инфраструктуры
docker-compose -f docker-compose.infra.yml up -d
Запускает PostgreSQL (хранение свечей) и Redis (шина событий). Подождите ~10 секунд.
4. Миграции БД
cd apps/provider npm install npx prisma migrate deploy
5. Запуск Provider
npm run start:dev
Вы увидите:
[Provider] Bootstrap complete [Provider] REST API listening on :8081 [Provider] WebSocket gateway ready
6. Проверка
curl -H "Authorization: Bearer your-dev-token-here" http://localhost:8081/api/health
7. Первая подписка
curl -X POST \
-H "Authorization: Bearer your-dev-token-here" \
-H "Content-Type: application/json" \
-d '{"exchange": "binance", "symbol": "BTCUSDT", "timeframes": ["1m", "5m", "1h"]}' \
http://localhost:8081/api/subscriptions
8. Проверка данных
curl -H "Authorization: Bearer your-dev-token-here" \ "http://localhost:8081/api/candles?symbol=BTCUSDT&timeframe=1m&limit=5"
Пять свечей в ответе = конвейер работает.
Дальше
- Добавьте подписки на другие инструменты
- Установите Detector для запуска стратегий
- Подключите Studio для визуального мониторинга
Частые проблемы
Не подключается к PostgreSQL — проверьте, что Docker Compose запущен и DATABASE_URL совпадает.
Пустой ответ свечей — подождите 30-60 секунд после подписки. Provider заполняет историю при первой подписке.
Ошибки аутентификации — убедитесь, что Bearer-токен совпадает с PROVIDER_BEARER_TOKEN в .env.