Decentralized Tornado Cash sources scripts & info
| guides | ||
| scripts | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| .nvmrc | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| yarn.lock | ||
Decentralized repositories downloader
Script to download all Tornado Cash git repositories with source code from IPFS by actual hashes in ENS.
Requirements
Installation
yarn installin repo folder- Rename
.env.exampleto.envand fill setRPC_URLpointing to Ethereum Mainnet JSON RPC yarn start
Next steps
Previous command will automatically create folder repos in root of this repo and two subfolders in it: tornadocash and tornado-packages. All main services and contracts (like classic-ui or torn-token) git repositories will be in tornadocash folder, and all packages (like websnark or fixed-merkle-tree) will be in tornado-packages folder.
To publish it on new Gitea and make it working, you need:
- Create two organizations on Gitea with usernames
tornadocashandtornado-packages - Push packages repositories to
tornado-packagesorganization. Inpackage.jsonfile of every package change repository link to actual site - Build and publish packages in Gitea npm registry. You need to build at first those packages, which doesn't have recursive dependencies to other Tornado packages (for example, first build & publish
snarkjsand thencircomlib, which uses snarkjs dependency). Don't forget to publish all package versions (check branches in packages repos)! - Set in each Tornado repo, which uses
@tornadodependencies, link to new Gitea npm registry in.npmrcfile
All done!
Now you can use it as standard git without problems (but don't forget to update IPFS repos hashes on ENS after big changes)
Self-host IPFS peer with Tornado IPFS CIDs
Just run on any Debian Linux server (from root):
curl https://git.tornado.ws/tornadocash/decentralized-sources/raw/branch/main/scripts/hostIPFS.sh | bash