Zcashd files used by the node

Hello, I want to run multiple nodes behind tor in order to anonymize my transactions, as most of the online wallets only provide transactions to t addresses. The schema would be like this:

(personal) btc_address → ( btc_address [exchange] t_address ) —> ( t_address [1st zcashd] z_address ) → ( z_address [2nd zcashd] z_address ) → ( z_address [3rd zcashd] t_address ) → ( t_address [exchange] btc_address ) → btc_address (payment)

I need to setup multiple zcash nodes, but as you know, the process takes a while, and when you want to do it behind tor on an encrypted usb stick, it takes… too long.

From what I have seen, the file hierarchy of the ~/.zcash folder (using linux) looks like this:

.zcash
|
|-- blocks
| |-- data files
| |-- index
| |-- ldb files, logs and a MANIFEST
|-- chainstate – ldb files, logs, and a MANIFEST
|-- database – log.0000000001
|
|-- peers.dat
|-- wallet.dat
|-- zcash.conf
|-- zcashd.pid
|-- .cookie
… some log files

From here: Data Directory Files — Zcash Documentation 5.2.0 documentation , I get that the folders blocks and chainstate contain the information about the network which needs to be synced every time you start up a node. The thing is I want these three nodes mentioned in the schema to be different, so I want to copy this info from my pc to the encrypted usb stick without starting the same node when # ./zcashd .

Do these folders contain specific info about the currently running node, like IDs or something which can start the same node accidentally, or is it safe to copy them on a fresh install location of zcash?

It is safe to copy the folder for use in multiple instances. If you want distinct wallets, you’ll want to start each node with a fresh wallet.dat file, though. Is your goal to have distinct filesystems with distinct zcashd instances?

1 Like

Live kali, one encrypted partition with all 3 wallets on it, and different binaries for each wallet within 3 distinct folders (each wallet folder contains own bins, config files) and all three point to the same blocks in node 1 (symlink in secondNode and thirdNode to /media/wallets/firstNode/blocks & chainstate). Have alreary used the solution. I hope it works as intended. Thanks for help!