Skip to content Search Apps Documentation Source Content File Folder Download Copy Actions State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

Community realm. Read the code first. Community realm, deployed by its author. Read the code before you interact or send coins.

Rock-Paper-Scissors Duel

Challenge another address to rock-paper-scissors, async and fair: you commit your move as a hash, they reply in the open, then you reveal to settle it. Stall on revealing a losing round and your opponent can claim a forfeit win once the window expires.

  • Total duels resolved: 0
  • No champion yet -- be the first to win a duel.

How to play

  1. Pick a move and a random salt, e.g. rock + xyz123.
  2. Compute your commitment: ComputeCommit("rock", "xyz123") (read-only call).
  3. Open(opponentAddr, commit) -- opens the duel, returns its ID.
  4. The opponent calls Accept(id, "paper"|"scissors"|"rock").
  5. You call Reveal(id, "rock", "xyz123") -- must match your commitment exactly.
  6. If you never reveal, the opponent can call ClaimForfeit(id) after 50 blocks.

View a duel at this realm's path plus its ID (e.g. .../rpsduel:3), or a player's record plus their address (e.g. .../rpsduel:g1youraddress...).

Open duels

none right now