Package commitreveal provides a minimal commit-reveal primitive: commit to (salt, data) by publishing only their hash, then later reveal the actual salt and data for anyone to verify against the published commitment. This is the standard way to prevent front- running on gno.land -- e.g. sealed-bid auctions, commit-based voting, or any scheme where revealing intent early would let others react to it before the reveal phase.
This package holds no chain state and does not manage commit/reveal deadlines itself -- the importing realm stores the returned [32]byte commitment and decides its own phase timing (typically via chain/runtime.ChainHeight(), the same way gno.land/p/demo/ratelimit takes a caller-supplied block height instead of reading the chain itself).