ZCash is an anonymous cryptocurrency that uses zk-snarks to ensure that all the information regarding user transactions is safely encrypted, while still verifiable by miners that can ensure no double-spending has taken place using zero knowledge proofs. ZCash is currently in the testnet phase and testnet ZCash has no value. The early bird gets the worm, however, and mining in the testnet is an excellent exercise to ensure that you're ready to start mining real ZEC coins as soon as possible! The testnet can be reset, which will cause your Zcash testcoins to disappear.
ZCash will use Equihash as an hashing algorithm, which is an asymmetric memory-hard PoW algorithm based on the generalized birthday problem. It relies on high RAM requirements to bottleneck the generation of proofs and making ASIC development unfeasible, much like Ethereum.
In order to avoid Instamine ZCash will have a slow mining start, where block rewards will be issued slowler than normal.
We are going to show you how to mine ZCash testcoins on Ubuntu. To mine ZCash on Windows you may need to install Linux on a Virtual Machine. Skip to the end of the guide to find out how.
Mining ZCash on Linux (Ubuntu)
Part 1 - Installing the ZCash system package dependencies
Step 1: Open your terminal. This can be done by clicking the upper leftlogo (1) and searching for "Terminal". Click theTerminal logo (2).
Step 2: First install the dependencies required by Zcash. This can be done by typing the following into the command line:
These keys are 1.5GB, so this process may take a while.
Part 2 - Compiling ZCash
Once you have downloaded and installed all system package dependencies, you can compile them and build zcashd.
Step 1: To compile ZCash enter the following command: "./zcutil/build.sh-j$(nproc)".
Part 3 - Running ZCash
Step 1: Before running Zcash, we have to create a folder for the configuration file. Outside of the terminal, go to "Files" (1), Right click anywhere and create a folder named ".zcash".
Step 2: You may see that the folder you have just created disappeared. That's because Linux recognizes folders that start with a "." as a hidden folder. To see the hidden folders click CTRL+H.
Step 3: Now you'll need to create a configuration file inside the .zcash folder you have just created, Right-Click again and choose "New Document", then "Empty Document".
Step 4: Open the New Document you've just created and paste the following configuration:
Step 5: Save and close the file, then rename it to "zcash.conf".
Step 5: Now, go back to the terminal and enter the following command: "./src/zcashd -daemon".
If you closed the terminal, enter "cd zcash" to go to the zcash folder (the command will only work while on the zcash folder).
Part 4 - Mining ZCash
Now that the we know that we know that ZCash has been properly installed, we can start mining some testcoins.
Step 1: Stop the ZCash deamon by entering the command "./src/zcash-cli stop".
Step 2: Go to Files (1) and enter your .zcash (2) folder
Step 3: Now edit your configuration file "zcash.conf" and add one line to it: "gen=1" and save the document.
Step 4: Run the ZCash deamon again by entering the command: "./src/zcashd -daemon". again
And that's it! You are now officially mining ZCash testcoins. You will not see your hashrate displayed, or any information regarding it, but you can check your balance and other blockchain info by typing and entering the command: "./src/zcash-cli getinfo". It may take a while to get new testcoins, so if you're not you've done everything correctly, make sure that your config file has the "gen=1" line and wait for a few hours before checking your balance.
Enter the command: "./src/zcash-cli listunspent" to get more detailed info on your testcoins and wallet.
Mining ZCash on Windows
ZCash currently does not support Windows, nor will it do so for the 1.0 launch. A version with Windows support is scheduled for the following release. If you're a Windows user and want to mine ZCash, you can either Install Linux on a Virtual Machine or wait for the windows release. If you do decide to run Zcash on a virtual machine, you just need to follow the instructions on this video. After Ubuntu is installed on a virtual machine, just follow the instructions on this guide from the start
This guide will be updated once the real ZCash blockchain goes live. Stay tuned!(At that time, you can also remove the "testnet=1" line from the configuration file "zcash.conf")