# Tornado Cash post-censorship This is a guide to using Tornado Cash after the 8th August crisis, when the OFAC decided to sanction the organisation and the smart contracts. This led to a widespread wave of censorship from middleware service providers, resulting in users being vulnerable and unable to access their assets. -------- **LANGUAGE:  [ZH](zh.md)  |  [ES](es.md)  |  [RU](ru.md)  ** -------- ### Community build _The source code for the community build can be found on [the offical community git](https://git.tornado.ws/tornadocash/classic-ui). For a tutorial on how to audit the changes [see Micah's guide](https://notes.ethereum.org/@GW1ZUbNKR5iRjjKYx6_dJQ/Bk8zsJ9xj)_. * Current build version: **023c463** * Stable build version: **023c463** * [Changelog](https://git.tornado.ws/tornadocash/classic-ui/commits/branch/master) **See [instructions on RPC configuration](#RPC) if transacting with sanctioned addresses** The latest community builds are available at: * Classic: * [tornado.ws](https://tornado.ws) * [ipfs.io/ipns/tornadocash.eth](https://ipfs.io/ipns/tornadocash.eth/) * Nova: * [nova.tornado.ws](https://nova.tornado.ws) * [ipfs.io/ipns/nova.tornadocash.eth](https://ipfs.io/ipns/nova.tornadocash.eth/) #### TOR network **Browser history must be enabled when using TOR browser for event caching**. How to use Tornado site via Tor: [guide](../tor.md). #### IPFS details To get the IPFS content hash and link from the domain details. Visit the ENS application domain page at either: * Classic: [tornadocash.eth](https://app.ens.domains/name/tornadocash.eth/details) * Nova: [nova.tornadocash.eth](https://app.ens.domains/name/nova.tornadocash.eth/details) The IPFS link for Classic (tornadocash.eth) for example, will look like: ``` ipfs://bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu ``` The content hash of this link is `bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu` #### Local IPFS deployment (recommended) * Brave * Navigate to the IPFS link in the browser * When prompted, choose “Use a Brave local IPFS node” * Chrome / Firefox * Install IPFS Desktop * Install IPFS Companion extension ([Chrome](https://chrome.google.com/webstore/detail/ipfs-companion/nibjojkomfdiaoajekhjakgkdhaomnch?hl=en) / [Firefox](https://addons.mozilla.org/en-US/firefox/addon/ipfs-companion/)) * Ensure IPFS Desktop is open and has an internet connection * Navigate to the IPFS link in the browser #### IPFS gateway usage * Take the content hash and prefix it followed by a `.` to one of the following IPFS gateways: * `ipfs.dweb.link` * https://bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu.ipfs.dweb.link * `ipfs.cf-ipfs.com` * https://bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu.ipfs.cf-ipfs.com * `ipfs.io` * https://ipfs.io/ipfs/bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu #### Decentralized sources All sources (code) of Tornado Cash are also decentralized after [proposal #30](https://tornado.ws/governance/30) and have ENS domains with IPFS contenthash. Full guide available at ENS domain [sources.tornadocash.eth](https://app.ens.domains/sources.tornadocash.eth), actual IPFS hash: `bafybeia2s5em2xypmtdifuyj62xwgveujygs4vzoqhbqd2um45wbdxxb6u`. Gateway (direct link): https://ipfs.io/ipfs/bafybeia2s5em2xypmtdifuyj62xwgveujygs4vzoqhbqd2um45wbdxxb6u ### RPC -------- **LANGUAGE:  [ZH](zh.md)  |  [ES](es.md)  |  [RU](ru.md)  ** -------- * If you want to deposit you may have to change your wallet RPC, as most providers have censored the smart contracts. **The default provider of Metamask, Infura along with Ankr and Alchemy currently do not prohibit transactions to and from the protocol, governance and the TORN token**. * Try searching for an alternative working endpoint on [Chainlist](https://chainlist.org/), which could take multiple attempts (take note of the ChainID for network configuration). An example of how to change your RPC provider for MetaMask is shown below. ![](../../../.gitbook/assets/zOwfk4k.gif) * Sometimes visiting the application you could be greeted with the following message, to fix this click "OPEN SETTINGS". ![](../../../.gitbook/assets/xcNzhNG.png) * You'll then be displayed a dropdown selection, defaulted to a selection. Click on it and select the "Custom" option. ![](../../../.gitbook/assets/zrY5GEi.png) * Here enter a non-censoring RPC provider depending on your network and this will resolve application issues. ![](../../../.gitbook/assets/dE13HsA.png) * Then you are freely able to withdraw, deposit, stake or participate in decentralized governance like nothing ever happened. ## FAQ > Why do I keep recieving the error `Failed to fetch relayers`? * This error is either related to a poor connection or a result of no available relayers on your network. It usually can be solved by refreshing. > Why do I keep recieving the error `Failed to fetch proving keys`? * This error is either related to a poor connection, it usually can be solved by refreshing or changing VPN location for better latency. > Why do I keep recieving the error `Failed to fetch all deposit events from contract` when trying to withdraw? * This error is related to a poor connection or using a censored RPC endpoint. To resolve this either: * change VPN location for better latency * try a new browser or method of access * configure the application RPC configuration to an alternative > Why can't I make a deposit from my wallet? * Most RPCs censor transactions to the protocol and governance since the OFAC sanctions, you need to configure your wallet RPC to a uncensored endpoint. .