Tutorial: construa um casino sobre o SlotBattle
Você vai construir o Bonanza Bay, um casino mínimo que lê o catálogo de jogos, abre uma batalha, preenche, assiste ao vivo e liquida o resultado a partir de um webhook assinado.
O projeto pronto vive em
GambaLabs/slotbattle-demo-casino,
cerca de 600 linhas de TypeScript comentado. Todo trecho de código deste tutorial vem desse
projeto.
O que você vai construir
O browser nunca envia a chave de API para o SlotBattle. Ele recebe um token de viewer, com escopo de uma batalha e válido por 15 minutos.
O que você precisa
- Node 22+
- Uma instância do SlotBattle entregue pela plataforma: uma URL base e um id de tenant (o que você recebe)
- Uma chave de API do tenant com
games:read,battles:read,battles:write,bots:writeeviewer:mint, maisdemo:mint, a menos que você traga a própria URL de sessão para o assento do criador. Uma chave emitida antes de esse escopo existir não o carrega - Pelo menos um jogo liberado para o seu tenant
Leia Ciclo de vida da batalha primeiro. Dois fatos de lá
decidem o formato de tudo aqui: uma batalha começa sozinha quando todos os assentos estão
READY, e não existe endpoint de início.
Os cinco passos
| Setup | Projeto, ambiente e a única regra sobre a chave de API |
| Primeira batalha | Catálogo, abrir um lobby, preencher com bots |
| Assista ao vivo | Tokens de viewer, o feed WebSocket, vídeo HLS |
| Webhooks | Verificar a assinatura, liquidar o resultado |
| Indo para produção | O que essa demo pula, e o que você não pode pular |
O que este tutorial não cobre
Contas de jogador, carteiras, débitos de entrada e pagamentos. Isso fica do seu lado da
fronteira. O SlotBattle emite multiplicadores crus e não tem noção de vitória; traduzir
multiplier: 138.4 em dinheiro é trabalho seu, e é a parte que muda por casino e por
jurisdição.
Veja O que o SlotBattle não faz.
Um passo exige credenciais reais de provedor
Sentar bots emite sessões demo pelo backend do provedor, e não há sandbox. Esse passo não pode ser concluído sem credenciais reais de provedor de jogo.
Todo o resto, incluindo catálogo, lobby, assentos, tokens de viewer, o feed ao vivo e o webhook, funciona contra qualquer instância que você alcance.
→ Setup