5.6 KiB
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.
Community build
The source code for the community build can be found on the offical community git. For a tutorial on how to audit the changes see Micah's guide.
- Current build version: e49e3e0
- Stable build version: a8c238c
- Changelog
See instructions on RPC configuration if transacting with sanctioned addresses
ENS resolvers
The latest community builds are available at:
- Classic:
- Nova:
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 for possible disruption.
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
- Nova: nova.tornadocash.eth
The IPFS link for Classic (tornadocash.eth) for example, will look like:
ipfs://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum
The content hash of this link is bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum
Local IPFS deployment (recommended)
-
Brave
- Navigate to the IPFS link in the browser
- When prompted, choose “Use a Brave local IPFS node”
-
Chrome / Firefox
IPFS gateway usage
- Take the content hash and prefix it followed by a
.
to one of the following IPFS gateways:
RPC
-
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, 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.
- Sometimes visiting the application you could be greeted with the following message, to fix this click "OPEN SETTINGS".
- You'll then be displayed a dropdown selection, defaulted to a selection. Click on it and select the "Custom" option.
- Here enter a non-censoring RPC provider depending on your network and this will resolve application issues.
- 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. .