MAQUINÓPOLIS
InícioInícioInício
BlogBlogBlog
Jogar no navegadorJogar no navegadorJogar no navegador
MAQUINÓPOLIS
InícioInícioInício
BlogBlogBlog
Jogar no navegadorJogar no navegadorJogar no navegador
MAQUINÓPOLIS
Maquinopolis
InícioInícioBlogBlogJogar no navegadorJogar no navegador
TERMOS DE USO
POLÍTICAS DE PRIVACIDADE
TERMOS DE ENVIO
FAQ
Prova de Resultado
SUPORTE
MAQUINÓPOLIS

© 2026 Maquinópolis. Todos os direitos reservados.

Redes Sociais

Prova de Resultado

Na Amazing Hand, a jogada da máquina é sorteada antes de ela ver a sua — e você pode comprovar isso aqui, no seu navegador, sem confiar em ninguém.

Como funciona

  1. 1. CompromissoAntes de você travar sua jogada, o servidor sorteia uma semente secreta e publica a impressão digital dela (SHA-256). A partir daí, ele não consegue mais trocá-la sem ser pego.
  2. 2. Sua jogadaVocê escolhe e trava a sua jogada.
  3. 3. Beacon públicoSó então o servidor pega o hash do bloco mais recente da rede Solana — um número público que ninguém (nem nós) consegue prever ou alterar.
  4. 4. ResultadoA jogada da máquina sai de uma conta fixa: SHA-256 da semente + beacon + partida + rodada. Depois da rodada, a semente é revelada e qualquer pessoa refaz a conta.

Fluxo: compromisso → sua jogada → blockhash Solana → resultado. Como o compromisso vem antes do beacon existir, nem o servidor nem a rede Solana controlam o sorteio sozinhos.

Verificar uma partida

Cole o código da partida (mostrado no app, no painel “Verificar jogadas”). Os dados públicos são baixados e a conferência roda inteira no seu navegador.

Rode em casa

O mesmo algoritmo, em ~10 linhas de Python — sem depender do nosso site. A jogada da máquina é int(SHA256(seed:blockhash:partida:rodada)) mod N, e o compromisso é SHA256(seed).

import hashlib

def verificar(commitment, server_seed, blockhash, session_id, rodada, n, jogada_maquina):
    assert hashlib.sha256(server_seed.encode()).hexdigest() == commitment, "seed trocada!"
    msg = f"{server_seed}:{blockhash}:{session_id}:{rodada}"
    digest = hashlib.sha256(msg.encode()).digest()
    assert int.from_bytes(digest, "big") % n == jogada_maquina, "jogada não bate!"
    print("OK: resultado provado")

# n = 3 no jokenpô (0=pedra, 1=papel, 2=tesoura)
# n = 5 no par-ou-ímpar (dedos 0..4)

A blockhash pode ser conferida em qualquer explorador Solana pelo número do bloco (slot) informado em cada rodada.