Private Money is a modernized fork of Tornado Cash allowing private money transfers on Base.
This repo contains the core contracts and circuits.
- Install npm dependencies
yarn- Install
circom(note: requiresrust)
# refer to latest instructions at: https://docs.circom.io/getting-started/installation/
# clone repo
git clone https://github.com/iden3/circom.git
# install circom
cargo build --release
cargo install --path circom- Install
snarkjs(note: requiresnode)
npm install -g snarkjs- Download
ptaufile
We use prepared .ptau files from the privacy-ethereum/perpetualpowersoftau repo.
The withdraw circuit has 27.4k constraints, so we use the ppot_0080_15.ptau which has 32.7k points and is 36mb in size.
To download the file, run:
yarn setup- Build circuits and contracts
yarn build- Run tests
yarn test