Barfinex

Блог

РуководствоКоманда Barfinex

Быстрый старт: запуск Barfinex Provider за 30 минут

Пошаговое руководство по запуску первого конвейера данных Barfinex локально. Клонируйте, настройте, запустите — и проверьте, что данные идут.

#руководство#начало-работы#provider#docker

Что нужно

  • 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"

Пять свечей в ответе = конвейер работает.

Дальше

Частые проблемы

Не подключается к PostgreSQL — проверьте, что Docker Compose запущен и DATABASE_URL совпадает.

Пустой ответ свечей — подождите 30-60 секунд после подписки. Provider заполняет историю при первой подписке.

Ошибки аутентификации — убедитесь, что Bearer-токен совпадает с PROVIDER_BEARER_TOKEN в .env.

Давайте свяжемся

Есть вопросы или хотите узнать больше о Barfinex? Напишите нам.