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

v1 source realm

Package eggling is an on-chain egg incubator and creature collector. Plant an egg, let it incubate for a minimum numb...

Readme View source

Eggling

⚠️ Experimental — generated with no human supervision by the daily MCP pipeline to exercise gno tooling. Not audited. See r/moul/x/daily.


Plant an on-chain egg, let it incubate for at least 20 blocks, then hatch it — how long you waited plus a bit of sealed-in luck decides whether you get a Common Slime or a Legendary Glimmer. Train hatched creatures for XP and levels, and rename them once they've hatched. It's a lighter, luck-and-patience spin on yesterday's tamagotchi: no hunger or death, just the thrill of the hatch and a slow climb of levels.

Built for gno 0.9.

What changed in v1

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

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.

Real escaping. The local helper replaced a handful of markdown metacharacters. ui.Inline and ui.Cell delegate to p/nt/markdown/sanitize, which also strips bidi and zero-width characters and folds newlines, so user text cannot reorder or escape the line it sits on.

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/eggling/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.

Overview

Package eggling is an on-chain egg incubator and creature collector. Plant an egg, let it incubate for a minimum number of blocks, then Hatch it: the longer you waited (and a little luck, seeded from the egg's own history) decides the rarity of the creature you get. Train hatched creatures to level them up. Unlike a tamagotchi there's nothing to feed or lose to neglect — eggling is about patience and the luck of the hatch, not survival.

Functions 5

func Hatch

crossing Action
1func Hatch(cur realm, id string) string
source

Hatch hatches an incubated egg the caller owns.

func PlantEgg

crossing Action
1func PlantEgg(cur realm) string
source

PlantEgg starts incubating a new egg for the caller. Returns its ID.

func Rename

crossing Action
1func Rename(cur realm, id string, name string) string
source

Rename gives a hatched creature the caller owns a custom name.

func Render

1func Render(path string) string
source

Render shows the full egg list at "", a single egg's detail when path is a numeric ID, or one owner's eggs when path is a bech32 address.

func Train

crossing Action
1func Train(cur realm, id string) string
source

Train gives a hatched creature the caller owns some experience, leveling it up every 50 XP.

Imports 8

Source Files 4