subochev 6e54e9ef4b ADR-007: источник цены SOL = upstream binance-market (NATS / WS)
- README: новая секция «Внешние зависимости» — binance-market как общий
  инфраструктурный upstream, а не часть игры (~/common-projects/invest/binance-market,
  контракт: NATS market.price.solusdt или WS /ws/price).
- docs/DECISIONS: добавлен ADR-007 с обоснованием; ADR-006 получил апдейт-сноску.
- docs/ECONOMY: «Курс и балансы» — указано, откуда берётся реальная цена SOL.
- TASKS: задачи «Цена SOL: реальный источник» (Фаза 0) и «PriceSource: реальная
  цена» (Фаза 2) переведены из TODO в IN_PROGRESS, со ссылкой на ADR-007 и
  binance-market; test-front задача тоже помечена.
2026-09-12 01:10:09 +03:00

pump-game-ops — мета-репозиторий проекта «Бинарная ракета» (Binary Rocket)

Единая точка для сервисной документации, принятых решений и списка задач проекта мемкойн-игры на pump.fun. Кода тут нет — только то, что связывает компоненты между собой (индексация), и что не живёт в конкретных репозиториях.

Что это и зачем

У нас много компонентов (фронт, бэкенд, контракт, релейер). Здесь мы ведём:

  • карту репозиториев (кто за что отвечает, где какая часть),
  • журнал решений (почему так, а не иначе — ADR),
  • экономику токена (свой мемкойн, курс, decimals, mint-адреса),
  • список задач/статусы (трекаем весь проект тут — включая задачи, встающие на кросс-компонентные решения: forkable/pivotable и т.п.).

Карта репозиториев

# Компонент Репозиторий Путь (локально) Язык/стек Роль
1 Смарт-контракт (оригинал) akovalenko/Smart-game ~/WORK/games/Smart-game Rust/Anchor (Solana) игровая логика ставок вверх/вниз, ваулт, выплата (SOL, не трогаем)
1b Смарт-контракт (фантики) subochev/smart-updown-token ~/WORK/games/smart-updown-token Rust/Anchor (Solana) копия Smart-game для перевода на наши фантики (SPL-токен) — работаем тут
2 Бэкенд (релейер) subochev/smart-updown-server ~/WORK/games/smart-updown-server Kotlin/Spring Boot + solanaj ретрансляция ставок, свап-клиент к pump.fun, релейер
3 Фронт (Unity) subochev/fun-game-front2 ~/WORK/games/fun-game-front2 Unity WebGL + Phantom UI, кошелёк, подпись create_bet
4 Тестовый фронт subochev/test-front ~/WORK/games/test-front HTML/JS + Phantom технический дашборд для ручного теста экономики (пополнение/ставка/вывод) без Unity
5 Мета-репо (этот) subochev/pump-game-ops ~/WORK/games/pump-game-ops Markdown документация, решения, задачи

Примечания:

  • Remote-адреса: https://git.binom.pw/<owner>/<repo>.git.
  • Ветки: smart-updown-server и fun-game-front2 — main; Smart-game сейчас на extract-sources.

Внешние зависимости (upstream)

binance-market — это не часть игры, а общий инфраструктурный сервис инвест-кластера, который игра «Бинарная ракета» использует как upstream-провайдер цены SOL (вместо заглушки RandomPriceSource, см. ADR-006 → ADR-007).

Компонент Репозиторий Путь (локально) Язык/стек Роль для игры
binance-market (upstream цены) subochev/binance-market ~/common-projects/invest/binance-market Kotlin / Spring Boot 3.3.5 WebFlux собирает рыночные данные с Binance (Binance WS: depth@100ms + aggTrade); выдаёт last-trade через GET /ws/price?symbol=<sym> (порт 8080) и через NATS-топик market.price.<symbol>; релейер использует это как PriceSource (см. ADR-007)

Контракт между игрой и сервисом:

  • В кластере (предпочтительно): подписка на NATS-топик market.price.solusdt (адрес задаётся в релейере; прод-адрес см. в его конфиге).
  • Снаружи кластера / тест: WebSocket ws://<binance-market-хост>:8080/ws/price?symbol=solusdt.
  • Покрытие символов сейчас: btcusdt,ethusdt,solusdt (конфиг binance.symbols в values.yaml чарта).

Принятые решения (сводка)

Ссылка на полный журнал — docs/DECISIONS.md. Ключевое:

  • Свой токен на pump.fun (мемкойн Binary Rocket), не чужой.
  • Курс — живой рыночный (Способ 1): ставки в фантиках, ввод/вывод через swap.
  • decimals = 6, токен через Token-2022 (по доке pump.fun create_v2).
  • Ставки идут фантиками через контракт → контракт переводить с SOL на SPL-токен (это ядро).
  • Цена SOL — от внешнего upstream binance-market (ADR-007), не своя оракуль-логика.

Как ходят данные (кто кому что шлёт, включая согласие/подпись игрока) — docs/FLOW.md (sequence-диаграммы: текущий localnet-режим без Phantom и целевой боевой с pump.fun+Phantom).

Статус проекта (сводка)

Задачи и статусы — в TASKS.md (или docs/TASKS.md). Здесь — только верхи:

  • Фаза 0 — экономика (токен, курс, mint) — в работе
  • Фаза 1 — контракт на токене — не начато
  • Фаза 4 — задействовать свап-клиент — клиент готов
  • Фаза 5 — фронт (баланс/пополнение/вывод) — не начато
  • Интеграция с binance-market (NATS/WS-клиент PriceSource) — см. ADR-007

Прочее

  • Ночная экономика и mint-адреса: docs/ECONOMY.md (создаётся в Фазе 0).
  • Разделы задач общего характера (например, мок/деплой/стабильность) — в TASKS.md.
S
Description
Мета-репозиторий Binary Rocket: карта репозиториев, решения (ADR), экономика токена, трекер задач
Readme 381 KiB
Languages
JavaScript 88.2%
Shell 11.8%