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

streaks/v0 package

Overview

Package streaks is an on-chain habit-streak tracker. Call CheckIn() again within graceBlocks of your last check-in and the streak keeps growing; let the gap run past that and it resets to zero on your next check-in. Gno has no wall clock, so "again soon enough" is measured in blocks rather than calendar days — graceBlocks is the tunable stand-in for "before tomorrow".

Functions

CheckIn

func CheckIn(cur realm) string

CheckIn records a check-in for the caller at the current block height.

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/moul/x/daily/streaks/v0" -func "CheckIn" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "http://127.0.0.1:26657" ADDRESSgnokey query -remote "http://127.0.0.1:26657" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/moul/x/daily/streaks/v0" -func "CheckIn" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "http://127.0.0.1:26657" call.tx
  

CurrentStreak

func CurrentStreak(addr string) int64

CurrentStreak returns addr's live current streak, 0 if it has lapsed or addr has never checked in.

Param

Command

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

Result

LongestStreak

func LongestStreak(addr string) int64

LongestStreak returns addr's best streak ever, 0 if it has never checked in.

Param

Command

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

Result

Render

func Render(path string) string

Render shows either the full leaderboard (path == "") or a single address's detail card when path is a bech32 address.

Param

Command

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

Result