Search Apps Documentation Source Content File Folder Download Copy Actions Download

rpsmatch package

Overview

Package rpsmatch is a best-of-three rock-paper-scissors arena against the house. Unlike a single stateless throw, a match persists across calls: the first player to win two rounds takes the match, and every player's match record accumulates on-chain.

Functions

Render

func Render(path string) string

Render shows the arena dashboard at "", or one player's record when path is their bech32 address.

Param

Command

gnokey query vm/qeval -remote "https://rpc.test13.testnets.gno.land" -data "gno.land/r/g12cs4cehujpffpjpywmkqj43m6u5ya53nj69sjz/rpsmatch.Render()"

Result

Throw

func Throw(cur realm, moveStr string) string

Throw plays one round of the caller's current match, starting a fresh match if none is in progress. Accepts "rock"/"paper"/"scissors" or the single-letter shorthand "r"/"p"/"s".

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/g12cs4cehujpffpjpywmkqj43m6u5ya53nj69sjz/rpsmatch" -func "Throw" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "test-13" -remote "https://rpc.test13.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.test13.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g12cs4cehujpffpjpywmkqj43m6u5ya53nj69sjz/rpsmatch" -func "Throw" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "test-13" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.test13.testnets.gno.land" call.tx