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.

README.md

2.68 Kb · 59 lines

handles

⚠️ Experimental — generated with no human supervision. This realm was produced automatically by an MCP-driven agent to exercise the gno MCP server and tooling, and to generate test content for gno compilers, linters and formatters. Not audited. Not for production. Full context & folder README: r/moul/x/daily


A tiny on-chain nickname registry. Any address can claim one unique handle (3-20 lowercase letters/digits, starting with a letter), attach a short bio, transfer the handle to another address, or release it back into the pool. Two avl.Tree indexes (handle -> record, owner -> record) keep lookups in both directions cheap and deterministic.

Realm path: gno.land/r/g12cs4cehujpffpjpywmkqj43m6u5ya53nj69sjz/handles

Example calls

Register(cur, "moul")          # claim the handle "moul" for the caller
SetBio(cur, "building gno stuff")
Transfer(cur, g1...recipient)  # hand the handle to another address
Release(cur)                   # free the handle back up
OwnerOf("moul")                 # (address, bool)
HandleOf(g1...)                 # (string, bool)
Count()                         # number of registered handles

Render("") lists every registered handle in a table; Render("/moul") shows a single handle's detail page (owner, bio, block registered).

Toolchain status

Built and tested against a local gno build at master.3130+bf5b31eda (GNOROOT pointed at a full gnolang/gno checkout). gno test . and gno lint . both pass (6 tests, 0 lint issues). Note for test authors: plain recover() did not catch panics thrown across a cross(cur) boundary in this toolchain build — the non-crossing call form (Register(cur, ...) instead of Register(cross(cur), ...)) was used in the two panic-expectation tests instead, since no realm boundary is crossed and there was nothing to revive.


Part of moul/gno-contracts — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage.

Dependency graph:

gno.land/r/nym-moultest123/x/daily/handles/v0 dependency graph

🧪 Highly experimental — potentially vibe-coded. Not audited; may break, change, or be removed at any time. Do not use with anything of value. Full disclaimer: DISCLAIMER.