2023-02-19 02:32:18 +03:00
# Tornado Cash post-censorship
2023-01-28 15:11:19 +03:00
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.
2024-06-10 23:52:43 +03:00
--------
2023-02-01 00:20:12 +03:00
2023-02-19 02:32:18 +03:00
**LANGUAGE: [ZH](zh.md) | [ES](es.md) | [RU](ru.md) **
2023-02-01 00:20:12 +03:00
2024-06-10 23:52:43 +03:00
--------
2023-01-28 15:11:19 +03:00
2023-02-01 00:20:12 +03:00
### Community build
2023-01-28 15:11:19 +03:00
2024-06-10 23:52:43 +03:00
_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 )_.
2023-01-28 15:11:19 +03:00
2024-06-10 23:52:43 +03:00
* Current build version: **023c463**
* Stable build version: **023c463**
* [Changelog ](https://git.tornado.ws/tornadocash/classic-ui/commits/branch/master )
2023-01-28 15:11:19 +03:00
2023-01-28 19:55:19 +03:00
**See [instructions on RPC configuration ](#RPC ) if transacting with sanctioned addresses**
2023-01-28 15:11:19 +03:00
The latest community builds are available at:
2024-06-10 23:52:43 +03:00
* 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/ )
2023-01-28 15:11:19 +03:00
2023-02-01 00:20:12 +03:00
#### TOR network
2023-01-28 15:11:19 +03:00
**Browser history must be enabled when using TOR browser for event caching**.
2023-08-30 20:18:40 +03:00
How to use Tornado site via Tor: [guide ](../tor.md ).
2023-01-28 15:11:19 +03:00
2024-06-10 23:52:43 +03:00
2023-02-01 00:20:12 +03:00
#### IPFS details
2023-01-28 15:11:19 +03:00
To get the IPFS content hash and link from the domain details. Visit the ENS application domain page at either:
2024-06-10 23:52:43 +03:00
* Classic: [tornadocash.eth ](https://app.ens.domains/name/tornadocash.eth/details )
* Nova: [nova.tornadocash.eth ](https://app.ens.domains/name/nova.tornadocash.eth/details )
2023-01-28 15:11:19 +03:00
The IPFS link for Classic (tornadocash.eth) for example, will look like:
```
2024-06-10 23:52:43 +03:00
ipfs://bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu
2023-01-28 15:11:19 +03:00
```
2024-06-10 23:52:43 +03:00
The content hash of this link is `bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu`
2023-01-28 15:11:19 +03:00
2024-06-10 23:52:43 +03:00
#### Local IPFS deployment (recommended)
2023-01-28 15:11:19 +03:00
2024-06-10 23:52:43 +03:00
* Brave
* Navigate to the IPFS link in the browser
* When prompted, choose “Use a Brave local IPFS node”
2023-01-28 15:11:19 +03:00
2024-06-10 23:52:43 +03:00
* 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
2023-01-28 15:11:19 +03:00
2024-01-19 08:07:53 +03:00
#### IPFS gateway usage
2023-01-28 15:11:19 +03:00
2024-06-10 23:52:43 +03:00
* 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
2023-10-11 15:06:36 +03:00
#### Decentralized sources
2024-06-10 23:52:43 +03:00
All sources (code) of Tornado Cash are also decentralized after [proposal #30 ](https://tornado.ws/governance/30 ) and have ENS domains with IPFS contenthash.
2023-10-11 15:06:36 +03:00
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
2024-06-10 23:52:43 +03:00
2023-02-01 00:20:12 +03:00
### RPC
2023-01-28 15:11:19 +03:00
2024-06-10 23:52:43 +03:00
--------
2023-01-28 15:11:19 +03:00
2023-02-19 02:32:18 +03:00
**LANGUAGE: [ZH](zh.md) | [ES](es.md) | [RU](ru.md) **
2023-02-01 00:20:12 +03:00
2024-06-10 23:52:43 +03:00
--------
2023-02-01 00:20:12 +03:00
2024-06-10 23:52:43 +03:00
* 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** .
2023-01-28 15:11:19 +03:00
2024-06-10 23:52:43 +03:00
* 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.
2023-01-28 18:13:01 +03:00
2023-02-19 02:32:18 +03:00
![](../../../.gitbook/assets/zOwfk4k.gif)
2023-01-28 18:13:01 +03:00
2024-06-10 23:52:43 +03:00
* Sometimes visiting the application you could be greeted with the following message, to fix this click "OPEN SETTINGS".
2023-01-28 15:11:19 +03:00
2023-02-19 02:32:18 +03:00
![](../../../.gitbook/assets/xcNzhNG.png)
2023-01-28 15:11:19 +03:00
2024-06-10 23:52:43 +03:00
* You'll then be displayed a dropdown selection, defaulted to a selection. Click on it and select the "Custom" option.
2023-01-28 18:13:01 +03:00
2023-02-19 02:32:18 +03:00
![](../../../.gitbook/assets/zrY5GEi.png)
2023-01-28 15:11:19 +03:00
2024-06-10 23:52:43 +03:00
* Here enter a non-censoring RPC provider depending on your network and this will resolve application issues.
2023-01-28 18:13:01 +03:00
2023-02-19 02:32:18 +03:00
![](../../../.gitbook/assets/dE13HsA.png)
2023-01-28 15:11:19 +03:00
2024-06-10 23:52:43 +03:00
* Then you are freely able to withdraw, deposit, stake or participate in decentralized governance like nothing ever happened.
2023-01-28 15:11:19 +03:00
2024-06-10 23:52:43 +03:00
## FAQ
2023-02-01 00:20:12 +03:00
> Why do I keep recieving the error `Failed to fetch relayers`?
2024-06-10 23:52:43 +03:00
* 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.
2023-02-01 00:20:12 +03:00
> Why do I keep recieving the error `Failed to fetch proving keys`?
2024-06-10 23:52:43 +03:00
* This error is either related to a poor connection, it usually can be solved by refreshing or changing VPN location for better latency.
2023-02-01 00:20:12 +03:00
2023-02-19 02:32:18 +03:00
> Why do I keep recieving the error `Failed to fetch all deposit events from contract` when trying to withdraw?
2023-02-01 00:20:12 +03:00
2024-06-10 23:52:43 +03:00
* 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
2023-02-01 00:20:12 +03:00
2023-02-19 02:32:18 +03:00
> Why can't I make a deposit from my wallet?
2023-02-01 00:20:12 +03:00
2024-06-10 23:52:43 +03:00
* Most RPCs censor transactions to the protocol and governance since the OFAC sanctions, you need to configure your wallet RPC to a uncensored endpoint. .