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 install
in repo folder- Rename
.env.example
to.env
and fill setRPC_URL
pointing 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
tornadocash
andtornado-packages
- Push packages repositories to
tornado-packages
organization. Inpackage.json
file 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
snarkjs
and 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
@tornado
dependencies, link to new Gitea npm registry in.npmrc
file
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