Files
plm-lottery/docs/guida-utente.md
T
davideandClaude Sonnet 5 7dcf6d2756 Sync round countdown across clients and enforce the bet cutoff on deadline, not scheduler tick
The round timer relied on each client's own wall clock, so two browsers with
skewed local clocks showed different countdowns for the same round; the
server now also returns server_time so the frontend can correct for clock
skew. Also drop out-of-order /rounds/current responses (multiple independent
triggers could resolve late and revert the UI to a stale drawing/result
state) and prune per-round bookkeeping maps on round transitions.

Separately, place_bet only checked status == "open", leaving a window (up to
the scheduler's 5s tick interval) after a round's timer hit zero where a new
bet could still be accepted. place_bet now checks the round's own deadline
directly (round_accepts_bets), acting as an immediate "yellow light" for new
entries while still letting already-broadcast bets confirm before the round
closes.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-22 14:07:09 +02:00

5.1 KiB

Guida utente

Come usare PLM Lottery dall'interfaccia web (https://<host>/ — vedi running-the-server.md per come avviare il server).

Registrazione e accesso

Nella schermata iniziale trovi due tab: Registrati e Login.

  • Registrati: scegli username e password. Al termine ti viene assegnato automaticamente un indirizzo di deposito personale (derivato server-side) — è per sempre tuo, e riceverai anche eventuali vincite su quello stesso indirizzo.
  • Login: se hai già un account, accedi con username e password.

La sessione resta salvata nel browser (fino al logout): non serve rifare login ogni volta che riapri la pagina.

La dashboard

Dopo l'accesso vedi, in ordine:

  1. Barra di navigazione (fissa in alto) — il tuo username e il bottone "Esci" (logout) nella riga superiore, e i tab delle sezioni subito sotto
  2. Card del round corrente — sempre visibile, indipendentemente dalla sezione che stai guardando:
    • numero del round e stato (aperto, in chiusura, estrazione in corso, pagamento in corso)
    • timer che conta alla rovescia il tempo rimanente prima della chiusura del round
    • giocatori: quanti hanno già piazzato una bet in questo round
    • jackpot: il totale in PLM che verrà distribuito (70% al vincitore, 30% in fee)
  3. Tab di navigazione con quattro sezioni:

Estrazione del vincitore

Appena il timer arriva a zero, nessun nuovo giocatore può più entrare nel round — è un "semaforo giallo": il conteggio raggiunto lo zero blocca da subito le nuove giocate, ma il round non chiude immediatamente. Se qualcuno aveva già piazzato una bet negli ultimi istanti (transazione trasmessa ma non ancora confermata), il round aspetta che anche quella si confermi prima di procedere, così nessuna giocata già fatta viene persa al confine del round. Solo a quel punto la card mostra un'animazione ("Estrazione del vincitore in corso…") al posto del timer — la stessa cosa compare nella dashboard di ogni giocatore, non solo la tua. L'animazione resta visibile per almeno un tempo minimo configurabile dall'admin (default 20s), ma può durare più a lungo: il vincitore viene scelto usando l'hash del primo blocco confermato dopo la chiusura, quindi il tempo reale dipende dalla rete (mediamente ~2 minuti, il block time di PLM).

Appena il vincitore è determinato, l'animazione lascia spazio a un messaggio:

  • "🎉 Hai vinto! +N PLM" se sei tu il vincitore — l'importo ti verrà accreditato non appena la transazione di payout viene confermata (il round successivo non si apre finché questo non accade)
  • "Non hai vinto questa volta." altrimenti

Il messaggio resta visibile fino all'apertura del round successivo.

Avviso di manutenzione

Se l'operatore ha messo in pausa la lotteria per manutenzione, in cima alla pagina (visibile anche prima del login) compare un avviso: il round eventualmente in corso viene comunque completato normalmente, vincitore incluso, ma non ne parte uno nuovo finché la manutenzione non termina. L'avviso sparisce da solo appena l'operatore riprende la lotteria.

Deposito

  • Il tuo saldo interno (accreditato dopo 1 conferma di rete) con bottone "Aggiorna" per ricontrollarlo
  • Il tuo indirizzo di deposito, con bottone per copiarlo negli appunti
  • Il QR code dello stesso indirizzo, comodo per inviare PLM da un altro wallet scansionandolo invece di copiare l'indirizzo a mano

Per depositare, invia PLM (mainnet reale) a quell'indirizzo da un wallet esterno. Il saldo si aggiorna da solo dopo la prima conferma; premi "Aggiorna" per vederlo comparire.

Bet

Un bottone unico: piazza l'ingresso a costo fisso (mostrato in PLM) nel round corrente. Puoi avere al massimo una bet attiva alla volta. Il costo viene scalato dal tuo saldo interno.

Prelievo

Form con due campi:

  • Indirizzo esterno: dove vuoi ricevere i PLM
  • Importo (PLM): quanto prelevare

Il prelievo viene costruito e trasmesso sulla rete; la fee di rete viene scalata dall'importo richiesto (non si aggiunge separatamente).

Profilo

Due card:

  • Profilo: le tue informazioni account — username, indirizzo di deposito, saldo interno e data di iscrizione. Sola lettura, nessuna modifica possibile qui.
  • Impostazioni: form per cambiare la password. Serve la password attuale (per conferma) più la nuova password (minimo 8 caratteri, digitata due volte). Non richiede un nuovo login: la sessione attiva resta valida anche dopo il cambio.

Se hai dimenticato la password e non riesci più ad accedere, questa sezione non ti aiuta (serve la password attuale) — contatta l'operatore della piattaforma, che può reimpostartene una nuova dal pannello admin.

Notifiche

Ogni azione (registrazione, login, bet, prelievo, ecc.) mostra un breve messaggio (toast) verde in caso di successo o rosso in caso di errore, in basso nella pagina. Se qualcosa non va e il messaggio non basta a capire il motivo, il dettaglio tecnico è nei log del server (logs/app.log o data/logs/app.log con Docker) — non nell'interfaccia.