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

streak/v0 package

Overview

Package streak is an on-chain check-in streak tracker: call CheckIn once per "day" to keep a streak alive, miss one and it resets to 1.

There is no wall clock on-chain, so a "day" here is a fixed window of BlocksPerDay blocks: day = ChainHeight() / BlocksPerDay. That makes every streak decision a pure function of block height — deterministic, replayable, and impossible to game by waiting for a favourable timestamp.

State is per-caller and append-only in spirit: an address's best streak is never lowered, so breaking a run costs the current streak but not the record.

This is a stateful app with nothing reusable to extract, so it ships as a lone realm rather than a p/ library + demo pair.

Function

Best

func Best(addr address) int

Best returns addr's record streak, which is never lowered.

Param

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/moul/x/daily/streak/v0.Best()"

Result