func Feed
crossing ActionFeed reduces hunger and gives a small energy boost.
Package tamagotchi is an on-chain virtual pet. Hatch one, then keep it alive by Feeding, Playing and letting it Sleep...
⚠️ 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 virtual pet. Hatch one, then keep it alive by feeding, playing, and letting it sleep — hunger, happiness, and energy all decay with block height, so neglect (or just forgetting to check in) eventually kills it. Hatching a new pet after a death keeps your lifetime feed/play/death counts, so the leaderboard rewards long-term care rather than a single lucky run.
Realm: gno.land/r/g12cs4cehujpffpjpywmkqj43m6u5ya53nj69sjz/tamagotchi
maketx call ... -func Hatch -args "Fluffy" # start a pet
maketx call ... -func Feed # -30 hunger, +5 energy
maketx call ... -func Play # +20 happiness, -10 energy, +5 hunger
maketx call ... -func Sleep # +40 energy, +5 hunger
Render("") lists every pet ever hatched with alive/dead status and lifetime
stats. Render("<owner-address>") shows one pet's detail card.
gno test . passes (10/10 tests) against ~/p/gh/gnolang/gno as GNOROOT.
Uses only chain/runtime, sort, strconv, and the kept gno.land/p/nt/avl/v0
/ gno.land/p/nt/testutils/v0 packages per the sapphire stdlib reference. Panic
paths are tested through non-crossing helper functions (hatch, feed,
play, sleep) rather than through the exported cur realm entry points,
since panics raised inside a realm-crossing call aren't recover()-able from
the caller on this toolchain version.
Identical behaviour to v0 apart from rendering, which now goes
through p/moul/kit/ui instead of the local shortAddr 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:

🧪 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.
Package tamagotchi is an on-chain virtual pet. Hatch one, then keep it alive by Feeding, Playing and letting it Sleep — hunger, happiness and energy all decay with block height, and neglect too long kills the pet. Hatching again after a death starts a fresh pet but keeps your lifetime stats, so the leaderboard rewards long-term care, not just luck.
Feed reduces hunger and gives a small energy boost.
Hatch creates a new pet for the caller. Lifetime feeds/plays/deaths carry over from any previous pet so the leaderboard tracks long-term care.
Play boosts happiness at the cost of energy and a bit of hunger. Refuses to run a tired pet into the ground — rest first.
Render shows either every pet ever hatched (path == "") or a single pet's detail card when path is a bech32 owner address.
Sleep restores energy at the cost of a little hunger.