Provably-fair CLI games you play against each other — zero-sum.
0sum is a Rust command-line tool for playing turn-based games against another
person, where neither player can secretly cheat. Fairness is not a promise —
it's cryptographic. Every move is signed, every game state is a tamper-evident
hash-chained log, and the final score is a projection over history that no one
can quietly edit.
First game: Farkle (dice). Cards (poker) come later, once the crypto to hide a shared deck from both players is earned.
The christening project of the greytau org.
Phase 1 — work in progress. Hotseat Farkle: the engine, the Game trait, the
signed hash-chained state log, and the CLI flow. Plain-text UI. Nothing playable
yet — this is the genesis scaffold.
The command builds to a binary named 0sum:
$ 0sum
0sum — provably-fair CLI games (WIP)The full design brief — CLI flow, the signed-hash-chain state model, the
three-tier hidden-state format, phased fairness (commit-reveal dice → mental-poker
cards), the stakes/veto layer, and the build phases — lives in
docs/DESIGN.md and is tracked canonically in
issue #1.
cargo build # produces target/debug/0sum
cargo run # prints the WIP bannerRequires a recent stable Rust toolchain.
Dual-licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual-licensed as above, without any additional terms or conditions.
Package name on crates.io: zerosum (Cargo won't take a name with a leading
digit — the binary is still 0sum). Fine print: 0sum quietly stands for
Protected Randomized Encrypted Gaming — PREGante. That is not
its real name. Its real name is 0sum. You didn't read this.