Ethereum Social Contract
This repository contains the PrivacyPool
contract which enables private ERC20 transfers while maintaining legal compliance by requiring the divulgence of secrets to a trusted committee that will respond to requests from law enforcement orders.
If the backend server is not available, deposited funds may be recovered by performing a public withdrawal that does not break the transfer link. |
---|
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.
🛠 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