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.

memba_arcade_leaderboard_v1 package

Overview

Package memba_arcade_leaderboard_v1 is the funds-free, verified-score ledger for the Memba arcade (BARRICADE, Space Invaders, and future games — one realm, boards keyed per game slug). Nothing here trusts a client number: an authorized ATTESTER (the backend verifier's key) re-simulates a submitted input log and attests only the reproduced result. The chain stores the attested result plus a commitment to the log (its sha256) — the log itself stays off-chain; "verified, never trustless" is the public contract.

SAFETY: there is NO banker, NO transfer, and NO OriginSend anywhere — the fund-drain risk class does not apply. The only trust boundary is who may attest (owner ∪ the attester allowlist); every write emits an event. Two buckets never mix: the competitive DAILY BOARD (one best entry per address per game per day, shared seed) and personal TRAINING RECEIPTS (practice runs — a verified flex, never ranked).

The game slug is shape-validated only — there is deliberately NO on-chain game registry: the realm is funds-free, so the worst a typo'd slug can do is fragment a board, and the attester (not the player) authors the slug.

Function

AttestReceipt

func AttestReceipt(cur realm, game string, addr address, day, seed string, score, simVersion int64, stateHash, logHash, stats string)
Ask AI Claude ChatGPT

AttestReceipt mints a personal training receipt — a verified "I did this run", never ranked. Attester-only; capped per address per (game, day) and ring-capped per address. Fulfills (and clears) a matching player-paid RequestReceipt if one is staged.

Params

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/g1a9g8nu3m0xgx58hh36fph49e2xkqm9axlxuf5z/memba_arcade_leaderboard_v1" -func "AttestReceipt" -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "onyx-1" -remote "https://rpc.onyx.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.onyx.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/g1a9g8nu3m0xgx58hh36fph49e2xkqm9axlxuf5z/memba_arcade_leaderboard_v1" -func "AttestReceipt" -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "onyx-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.onyx.testnets.gno.land" call.tx