Caffeine 07e00f106c fix(api): рабочий рецепт — /api в базе обязателен для POST
Найдено исполнением рецепта из самого файла: `const BASE = 'https://testfront.binom.pw'`
→ `POST /wallet` возвращал 405 Method Not Allowed. GET-ручки терпят отсутствие
префикса (`/state` == `/api/state`), а POST-ручки — нет. Внешний разработчик
спотыкался на первой же строке примера.

Что исправлено:
- база в примере: `https://testfront.binom.pw/api` + предупреждение про /api
- POST /wallet в примере: добавлены заголовок Content-Type и тело `{}` (без них 405)
- WS-адрес в примере: явный `wss://` вместо `BASE.replace('https','wss')`,
  который после смены базы дал бы кривой `wss://testfront.binom.pw/api.replace…`
- amountUnits в примере — строкой (поддержаны оба вида, число тоже работает)

Проверено: рецепт, выдранный из файла регуляркой и запущенный как есть, отдаёт
курс, `bet_open` и `bet_closed`. WS принимает подключение с чужого Origin
(проверено тремя вариантами заголовка).
2026-09-14 02:32:32 +03:00

test-front — технический тестовый фронт (Binary Rocket)

Чисто технический веб-дашборд для ручной проверки механики через HTTP-шлюз: кнопки + лог. Без Phantom, без swap, без вывода средств — только постановка ставок фантиками и наблюдение за событиями.

Зачем

Технический пульт для проверки контракта «вручную»: быстро прогнать сценарий «создать кошелёк → пополнить тестовым фаусетом → поставить → дождаться исхода». Полный контракт API (HTTP + WS, поля событий, коды ошибок) — API.md.

Возможности

  • Поля в шапке: Шлюз (API), WS URL, Адрес.
  • Создать кошелёк — генерирует новый custodial-адрес через шлюз.
  • Пополнить кошелёк — тестовый фаусет: наливает SOL и фантики.
  • Сделать ставку — POST /api/bet (side UP/DOWN, amountUnits).
  • События по WebSocket (price, bet_open, bet_closed) — поллинга нет.
  • Лог всех действий + кнопки «Копировать» / «Очистить».

Как пользоваться

  1. Открыть https://testfront.binom.pw/ — index.html отдаётся из куба (namespace game). Поле «Шлюз (API)» можно оставить пустым — фронт возьмёт свой адрес.
  2. Нажать Создать кошелёк — в поле «Адрес» появится custodial-адрес.
  3. Нажать Пополнить кошелёк — тестовый фаусет нальёт SOL и фантики.
  4. Выбрать сторону (UP / DOWN) и сумму (в пределах minAmountHuman / maxAmountHuman из /api/state: 100 … 10000 фантиков) → Сделать ставку.
  5. Результат придёт сам по WS примерно через expirySeconds (15 с).

Три возможных исхода ставки:

  • выиграл — statusName: "payout_done", выплата с множителем;
  • проиграл — statusName: "house_won", ставка остаётся в ваулте;
  • возврат при ничьей — statusName: "refunded", залог возвращён ровно суммой ставки без множителя (подробнее — API.md, раздел «Ничья при exitPrice == entryPrice»).

Правило: одна открытая ставка на адрес — вторая ставка с того же адреса получит 409. Дождитесь bet_closed по WS, прежде чем ставить снова.

Статус

  • каркас: кошелёк, фаусет, ставка, события по WS
  • контракт: возврат при ничьей (exitPrice == entryPrice)
S
Description
Технический тестовый фронт для механики экономики Binary Rocket (пополнение/ставка/вывод) — для ручного тестирования без Unity
Readme 110 KiB
2026-09-13 02:54:33 +00:00
Languages
HTML 99.3%
Dockerfile 0.7%