User repository on GitHub
Jev 对拳 · AI 先出拳,你再选择。每一局都可核验。
- Forks
- 0
- Last pushed
- Updated Sep 2026
Repo stats from the GitHub API, cached Oct 2026.Homepage
Jev RPS is rock-paper-scissors against TypeSafe's Jev with a commit-then-reveal protocol: the server seals Jev's move with a salted SHA-256 commitment and AES-256-GCM encryption before your buttons unlock, and the browser recomputes the hash after the reveal.
User repository on GitHub
Jev 对拳 · AI 先出拳,你再选择。每一局都可核验。
Repo stats from the GitHub API, cached Oct 2026.Homepage
[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url] [![LinkedIn][linkedin-shield]][linkedin-url] Jev throws first — and every round is verifiable. View Demo · Report Bug · Request Feature. Usage Roadmap Contributing License Contact Acknowledgments.
Quoted from the project's README. Read the full README.
Watch out
The commitment only proves Jev did not change its move after sealing; it says nothing about how strong its play is or whether series context actually influences it. If the provider fails mid-round the round stops, so flaky upstream ends a series rather than producing a result. GAME_SECRET must be at least 32 characters, must be set as a server-side variable with no NEXT_PUBLIC_ prefix, and must stay stable across deploys, since rotating it invalidates old fairness proofs and history signatures. The TypeSafe key is typed into the page and held in page memory only, and dev mode auto-generates a temporary sealing key, so old series do not survive restarts without a fixed secret. GA4 is optional and off by default, but enabling it requires a consent banner and Consent Mode for EU or UK visitors. Copy reviewed against the repository README on 2026-10-04, not from running it.
Original write-ups on what this entry is for.
Posts from builders shipping with Jev right now.