130 lines
5.9 KiB
Markdown
130 lines
5.9 KiB
Markdown
# 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://development.tornadocash.community/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: **ea97a39**
|
|
* Changelog: [#003](https://development.tornadocash.community/tornadocash/classic-ui/pulls/10)
|
|
|
|
**See [instructions on RPC configuration](#RPC) if transacting with sanctioned addresses**
|
|
|
|
#### ENS resolvers
|
|
|
|
The latest community builds are available at:
|
|
|
|
* Classic:
|
|
* [tornadocash.3th.ws](https://tornadocash.3th.ws) (recommended)
|
|
* [tornadocashcommunity.eth.link](https://tornadocashcommunity.eth.link)
|
|
* Nova:
|
|
* [nova.tornadocash.3th.ws](https://nova.tornadocash.3th.ws) (recommended)
|
|
* [nova.tornadocashcommunity.eth.link](https://nova.tornadocashcommunity.eth.link)
|
|
|
|
|
|
#### TOR network
|
|
|
|
**Browser history must be enabled when using TOR browser for event caching**.
|
|
|
|
It is now possible to access the builds via onion hidden services with the community resolver (3th.ws), if there is no response see the [network status page](https://status.torproject.org/) for possible disruption.
|
|
|
|
* [onion.tornadocash.3th.ws](https://onion.tornadocash.3th.ws)
|
|
* [h76qqhctmyehsaoazm7fqtncitt3vrdixoshwhuu7vpgzh3mld7dt2qd.onion](https://h76qqhctmyehsaoazm7fqtncitt3vrdixoshwhuu7vpgzh3mld7dt2qd.onion/)
|
|
* [onion.nova.tornadocash.3th.ws](https://onion.nova.tornadocash.3th.ws)
|
|
* [tytltckkqi3g6djjmiaorobu5jgshgwpdqelgmdcabnp2l7whj6sdhid.onion](https://tytltckkqi3g6djjmiaorobu5jgshgwpdqelgmdcabnp2l7whj6sdhid.onion)
|
|
|
|
#### 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://bafybeiguelxw5aanwnhvaea5vjhknmcdmwvujne36wgabnkmcbt3563toa
|
|
```
|
|
|
|
The content hash of this link is `bafybeiguelxw5aanwnhvaea5vjhknmcdmwvujne36wgabnkmcbt3563toa`
|
|
|
|
|
|
#### 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://bafybeiguelxw5aanwnhvaea5vjhknmcdmwvujne36wgabnkmcbt3563toa.ipfs.dweb.link
|
|
* `ipfs.tornadocash.is` (community gateway)
|
|
* https://bafybeiguelxw5aanwnhvaea5vjhknmcdmwvujne36wgabnkmcbt3563toa.ipfs.tornadocash.is
|
|
* `ipfs.cf-ipfs.com`
|
|
* https://bafybeiguelxw5aanwnhvaea5vjhknmcdmwvujne36wgabnkmcbt3563toa.ipfs.cf-ipfs.com
|
|
|
|
|
|
### 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 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 decentralised 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. . |