diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c5110d7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +node_modules +.env +.env.development +.env.production +.git +db.development.sqlite +server/snark_files/response_* diff --git a/.gitignore b/.gitignore index 7576c55..f653d7c 100644 --- a/.gitignore +++ b/.gitignore @@ -92,3 +92,4 @@ sw.* db.development.sqlite .env.development .env.production +server/snark_files/response_* diff --git a/README.md b/README.md index 3c7fb8e..0ea179c 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,7 @@ $ yarn dev ``` ## Production setup +Follow instructions in the [Initialize ceremony]() section to generate `current.params` file. ``` bash # Edit all necessary environment variables. See the explanation above. $ cp .env.example .env.production @@ -49,3 +50,17 @@ $ cd .. # Run the app and mysql database containers. It will use the MYSQL_USER, MYSQL_PASSWORD and MYSQL_DATABASE vars you specified in .env.production file. $ docker-compose up -d ``` + +# Initialize ceremony (`current.params` file creation): +1. `git clone https://github.com/tornadocash/phase2-bn254 && cd phase2-bn254` +1. `git checkout wasm` +1. go to `./powersoftau/src/bn256/mod.rs` and change `REQUIRED_POWER` to 15 (it's going to fit 36k constaints snark) +1. `cd powersoftau` +1. run `./test.sh`. After this step you will get many `phase1radix*` files. +1. Download [withdraw.json](https://github.com/tornadocash/tornado-core/releases/download/v2.0/withdraw.json) for required circuit to `./phase2` folder +1. `cd ../phase2` +1. `cp ../powersoftau/phase1radix* .` +1. `cargo run --release --bin new withdraw.json current.params` +1. The `current.params` file is your initial challenge file. +1. copy `current.params`, `withdraw.json` and `phase1radix*` to `./server/snark_files` folder. +1. `mv withdraw.json circuit.json` diff --git a/server/controllers/contribute.js b/server/controllers/contribute.js index e44ea68..af7d6b0 100644 --- a/server/controllers/contribute.js +++ b/server/controllers/contribute.js @@ -91,6 +91,10 @@ router.post('/response', upload.single('response'), async (req, res) => { console.log('Committing changes') await fs.rename(`/tmp/tornado/${req.file.filename}`, './server/snark_files/current.params') + await fs.copyFile( + './server/snark_files/current.params', + `./server/snark_files/response_${contributionIndex}` + ) console.log('Finished') res.json({ contributionIndex }) diff --git a/server/snark_files/current.params b/server/snark_files/current.params index 7e200b3..f40d446 100644 Binary files a/server/snark_files/current.params and b/server/snark_files/current.params differ diff --git a/server/snark_files/response_1 b/server/snark_files/response_1 deleted file mode 100644 index 0863e81..0000000 Binary files a/server/snark_files/response_1 and /dev/null differ diff --git a/server/snark_files/response_2 b/server/snark_files/response_2 deleted file mode 100644 index 254b3bc..0000000 Binary files a/server/snark_files/response_2 and /dev/null differ diff --git a/server/snark_files/response_3 b/server/snark_files/response_3 deleted file mode 100644 index 337f820..0000000 Binary files a/server/snark_files/response_3 and /dev/null differ diff --git a/server/snark_files/response_4 b/server/snark_files/response_4 deleted file mode 100644 index 050fbc6..0000000 Binary files a/server/snark_files/response_4 and /dev/null differ diff --git a/server/snark_files/response_5 b/server/snark_files/response_5 deleted file mode 100644 index 6c56e9c..0000000 Binary files a/server/snark_files/response_5 and /dev/null differ diff --git a/server/snark_files/response_6 b/server/snark_files/response_6 deleted file mode 100644 index ecbcb51..0000000 Binary files a/server/snark_files/response_6 and /dev/null differ diff --git a/server/snark_files/response_7 b/server/snark_files/response_7 deleted file mode 100644 index b08dcde..0000000 Binary files a/server/snark_files/response_7 and /dev/null differ diff --git a/server/snark_files/response_8 b/server/snark_files/response_8 deleted file mode 100644 index 49dfaf8..0000000 Binary files a/server/snark_files/response_8 and /dev/null differ