README.md
1.58 Kb · 31 lines
gno.land/r/moul/x/daily/ratelimitdemo/v0
Live demo of the p/moul/x/daily/ratelimit
token-bucket rate limiter.
Holds one package-level ratelimit.Limiter (0.5 tokens/block, capacity 5) and
wires it to the chain — the tick is runtime.ChainHeight(), each caller is keyed
by unsafe.PreviousRealm().Address():
Allow(cur) bool— consume one token for the caller.SetConfig(cur, rate, burst)— retune the shared bucket.Tokens(addr) int— read-only balance.Render("/")— config + a table of callers;Render("/addr/<address>")focuses one.
All refill/consume math lives in the library; this realm is just the wiring and
the gnoweb view. Render it at /r/moul/x/daily/ratelimitdemo/v0.
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.