project screenshot 1
project screenshot 2
project screenshot 3

My Little Dada

A "Petits Chevaux" game for 4 players using Noir, where each players brings entropy to the party

My Little Dada

Created At

ETHGlobal Istanbul

Project Description

Four players join a "Petit Chevaux" Game build inside an Aztec Smart Contract in Noir lang. The contract allows players to chose an initial seed when the game starts and this seed is then used at every action to determine the next dice roll value. The goal is to get to the end of the map with one of your four horses. An UI deploys and interacts with the contract using the Aztec SDK.

How it's Made

This project uses the Noir & Aztec.nr framework to deploy a Noir contract on an Aztec Sandbox instance running locally. We're using pedersen hashes and other tools provided by the Noir libs inside the contract to generate the entropy from immutable user-selected hidden seeds. Noir allows users to hide their seeds from other players, this means that no one can predict any dice roll apart from its own only when it's the current player round. The app is built with React and uses Aztec SDKs. ⚠️ the Noir code is missing some core assertions (check seed validity, check that player id is matching address, and others) on purpose to ease frontend development that was not finished in time. We might fix it in time before the submission deadline if we're able to wake up before, otherwise know that these missing assertions are not mistakes but just shortcuts for the frontend development flow, and that we were planning on putting all the assertions in public internal methods called by the entrypoint private methods.

background image mobile

Join the mailing list

Get the latest news and updates