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 uses 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.
Not everyone has access to a computer, however, and not everyone has the time, knowledge or patience to start mining Zcash on their own, especially since there is no Graphic User Interface (GUI) Miner available yet. If you want to mine on your own computer, but need a little push to do so, you're in the right place. But if you're looking to profit from Zcash mining with no effort at all, this guide will do the trick.
Mining ZCash on Linux (Ubuntu) - ONLY WORKS FOR 64BIT SYSTEMS
Part 1 - Installing the ZCash system package dependencies
Step 1: Open your terminal. This can be done by clicking the upper left logo (1) and searching for "Terminal". Click the Terminal logo (2).
Step 2: First install the dependencies required by Zcash. This can be done by typing the following into the command line:
sudo apt-get install \
build-essential pkg-config libc6-dev m4 g++-multilib \
autoconf libtool ncurses-dev unzip git python \
zlib1g-dev wget bsdmainutils automake
You can also copy (CTRL+SHIFT+C) and paste (CTRL+SHIFT+V) this command in your terminal to make it easier. After you type in the command press enter.
Step 3: After you enter the command, you'll be prompted for your password. Type it in and press enter.
Step 4: The terminal will also ask you to confirm the action. Write "Y" and click Enter to accept
Step 5: Download the Zcash repository by entering the following command: "git clone https://github.com/zcash/zcash.git". This will create a new folder called ZCash inside your "Files" directory.
Step 6: Once the ZCash repository finishes downloading, go into the ZCash folder by typing in the command: "cd zcash". And pressing enter.
Step 7: Inside the Zcash file you need to get the public alpha proving and verifying keys. Enter the command:
git checkout v1.0.1
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 we know that we know that ZCash has been properly installed, we can start mining some zcash.
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