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

README.md

2.70 Kb · 60 lines

URL Shortener

⚠️ 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


An on-chain alias registry for the gno.land sapphire testnet. Each caller can register alias -> url mappings they own: an alias is claimed on a first-come basis, only its owner may update or remove it, and every resolution through Render("/<alias>") bumps a per-alias click counter. Aliases must be non-empty and alphanumeric.

Realm path: gno.land/r/REPLACE_ADDR/urlshort

Example calls

# Register (or update your own) alias -> url
Shorten("gno", "https://gno.land", "the chain")

# Update the target (must be the same owner)
Shorten("gno", "https://docs.gno.land", "now the docs")

# Remove an alias you own
Remove("gno")

Render paths

  • / — lists every alias with owner and click count.
  • /<alias> — shows the target url, owner, note, and click count (and counts the click).

What changed in v1

Identical behaviour to v0 apart from rendering, which now goes through p/moul/kit/ui instead of the local short helper.

One address format. Eleven realms carried their own shortAddr with four different truncation rules, so the same account rendered differently depending on which realm you opened. ui.Addr is that decision made once: 8 leading characters, an ellipsis, 4 trailing, in backticks.

The rendering change means the output differs from v0, which under this repo's versioning rule is a compatibility change, hence a new version rather than an edit in place. v0 stays live and untouched.


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/moul/x/daily/urlshort/v1 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.