Files
test-front/README.md
T

44 lines
3.1 KiB
Markdown

# test-front — технический тестовый фронт (Binary Rocket)
Чисто технический веб-дашборд для **ручного тестирования механики экономики**
(пополнение фантиками → ставка → вывод) БЕЗ Unity. Только кнопки + вывод технической
информации и лог. Никакой «красоты» — он для гонок сценариев.
## Зачем
Unity-фронт (`fun-game-front2`) хорош для продакшена, но для быстрых итераций по
экономике (swap ввод/вывод, ставка фантиками, поллинг результата) он тяжёлый.
Этот фронт дёргает те же эндпоинты бэкенда и даёт мгновенный отклик.
## Возможности
- Подключение Phantom, показ адреса.
- Отображение баланса: **фантики** (токен Binary Rocket) + SOL.
- **Пополнить** — swap SOL→фантики через `POST /api/pump/swap` (подпись в Phantom).
- **Вывести** — swap фантики→SOL.
- **Ставка** (вверх/вниз) в фантиках через контракт: `GET /api/state` →
подпись create_bet → `POST /api/bet` → поллинг до SETTLED → показ выигрыша.
- Лог всех действий + кнопки «Копировать» / «Очистить».
## Как пользоваться
1. Открыть `index.html` (или раздать через любой статик-хостинг / nginx).
2. В шапке задать конфиг:
- **API base** — бэкенд (напр. `https://smart-updown.binom.pw`).
- **RPC** — публичный Solana RPC (напр. `https://rpc.solanatracker.io/public`).
- **Program** — адрес контракта (по умолч. `FMM...`).
- **Token mint** — адрес mint наших фантиков.
3. Подключить Phantom.
4. Гонять сценарии: пополнить → сделать ставку → дождаться исхода → вывести.
> Примечания
> - Фронт читает/пишет токен-аккаунты через RPC; для Token-2022 decimals читается из mint.
> - STUB-ключи create_bet пока зашиты под SOL-версию контракта. Когда контракт переведут
> на токен (Фаза 1), этот блок обновить под токеновые ключи.
> - API base должен отдавать CORS (nginx-прокси), иначе браузер заблокирует fetch.
## Статус
- [x] каркас: балансы, swap ввод/вывод
- [x] ставка вверх/вниз через контракт (поллинг)
- [ ] перевести подпись под токеновую версию контракта (после Фазы 1)
- [ ] реальный провайдер цены вместо RandomPriceSource (за нами)