project screenshot 1
project screenshot 2
project screenshot 3

zk chess

A Mina zk-app to play on-chain chess with other participants with computation happening offchain and validity proofs being submitted for valid moves on-chain.

zk chess

Created At

ETHGlobal Paris

Winner of

🏊 Mina Protocol — Pool Prize

Project Description

A Mina zk-app to play on-chain chess with other participants with computation happening off-chain and validity proofs being submitted for valid moves on-chain.

Since we cannot have full state on-chain in Mina, we only store the board hash as a field on-chain and a valid state transition can move the board state to a new valid state whose hash is stored on L1.

Currently, haven't made any frontend, but can be made for users to play it entirely on-chain, and invalid moves can be determined in the browser itself using SnarkyJS.

How it's Made

Made using SnarkyJS and zk CLI by Mina.

only minimal board state is stored on chain to be under the account limit restriction on Mina. A valid state transition is determined off-chain and a proof is submitted to modify the chess-board state.

Currently, haven't made any frontend, but can be made for users to play it entirely on-chain, and invalid moves can be determined in the browser itself using SnarkyJS.

background image mobile

Join the mailing list

Get the latest news and updates