/taz-apps

Simple DApp to allow Devcon attendees to review events anonymously.

Primary LanguageJavaScriptMIT LicenseMIT

TAZ applications

Github license GitHub Workflow style Linter eslint Code style prettier

The Temporary Anonymous Zone is a no-labels zone where Devcon VI attendees can learn through experience about privacy and anonymity. Visitors can get info on basic concepts, ask the team questions, share thoughts, make digital and physical art together, and interact anonymously with other Devcon attendees using apps built specifically for the Devcon VI TAZ.

TAZ contracts use the latest version of the Semaphore.sol contract, deployed on the Goerli testnet. The web app uses Next.js and allows users with a valid Semaphore ID to join the TAZ group and generate Semaphore proofs to post anonymous questions and answers, or to make art. Proofs related to the Q&A part are validated on-chain, while proofs related to artworks are validated off-chain and final canvases are posted as NFTs. Users can also vote anonymously for their favorite artworks.

⚠️ The TAZ apps are experimental and the code is not well tested. For more information visit taz.appliedzkp.org or see our Notion site.

🛠 Install

Clone this repository:

git clone https://github.com/semaphore-protocol/taz-apps.git

And install the dependencies:

cd taz-apps && yarn

📜 Usage

Web app and contracts need their env variables. For each of them, copy the .env.example file as .env:

cd apps/web-app # and apps/contracts
cp .env.example .env

And add your environment variables.

Start the web-app

Run the following command to run a local web app:

yarn start:web-app

Test the contracts

Contracts can be tested with the following command:

yarn test:contracts

Code quality and formatting

Run ESLint to analyze the code and catch bugs:

yarn lint

Run Prettier to check formatting rules:

yarn prettier

or to automatically format the code:

yarn prettier:write