Intro
Ycash has been around for years, and Ycash mining is just as accessible today as it’s ever been. POW (Proof of Work) algorithms have been securing blockchains since the beginning of Bitcoin. With a POW blockchain, miners race to solve a cryptographic puzzle. The winning miner earns the right to submit the next block on the network.
What Is Ycash?
Ycash is a cryptocurrency forked from Zcash at block 570,000 after the governing bodies of ZEC (Zcash) chose not to fulfill some of their original promises such as ASIC resistance and ending the Zcash Development Fund. If you’re interested in the early history of Ycash, take a look at the article, Why Ycash? After our most recent halving, participation in the development fund is now completely optional. You can learn more about this recent change here.
What is POW?
As we mentioned earlier, POW stands for Proof of Work. Blockchain consensus algorithms tend to fall into one of two categories: Proof of Work, and Proof of Stake. On a POS network, you need to put up coins as collateral (stake) in order to add new blocks to the chain and receive the block reward. With POW, anyone can partake in the consensus and receive mining rewards.
When you mine Ycash, you’re using your hardware to solve a cryptographic puzzle and claim the next block reward. In the olden days, a CPU was quite effective at this. However, with the dawn of mining ASICs (Application Specific Integrated Circuits), certain mining algorithms, such as SHA256 were taken over by people and companies running entire warehouses of these ASICs.
Ycash uses the Equihash 192,7 algorithm. This algorithm is incredibly difficult for current ASICs to solve because it’s very memory intensive. Consumer level graphics cards handle this mining algorithm very well, so anyone with a modern graphics card can mine blocks and receive YEC as their block reward. When you choose to mine YEC, you’re gaining YEC, and you’re helping the network function by adding new blocks to the chain. Without miners, the blockchain doesn’t add new blocks. Without new blocks, there are no new transactions. When you mine YEC, you’re doing a public good and helping run a decentralized crypto network.
Getting Started
To start, you need computer with a GPU (Graphics Card) with at least 2GB of RAM. It was initially thought that you need 3GB in order to mine, but according to miniZ’s website, the barrier to entry is 2GB. If you’re interested in stats for some different cards, take a look here. Once you’ve got your graphics card, all you need is a computer running Windows or Linux.
Now, you’ll need miniZ. If this sounds confusing or complicated, don’t worry. We’re here to walk you through it. Head on over to their downloads page and select the latest release for your operating system.
Running the Miner
Once you’ve downloaded the miner, we need to set everything up and run the miner. Once you’ve extracted your ZIP or tarball, you should have a folder with the files you see in the image below. The miniZ file is the actual mining software. The sha256 checksum is there for you to check the integrity of the file.
Running from the Command Line
To run this miner using the interactive shell in Linux, open a terminal and cd
into the folder holding your new miner.
./miniZ --user s1QBTeWq5mFtFGVeGYogWFpkmx8VG9HbFux --server http://127.0.0.1:3334 --par=192,7
On Windows, you can use this command instead.
miniZ.exe --user s1QBTeWq5mFtFGVeGYogWFpkmx8VG9HbFux --server http://127.0.0.1:3334 --par=192,7
Let’s break this command down so it’s easier to understand.
miniZ.exe
or ./miniZ
: This command is used to start your miner.--user s1QBTeWq5mFtFGVeGYogWFpkmx8VG9HbFux
:--user
tells the miner that you’re adding a user address.s1QBTeWq5mFtFGVeGYogWFpkmx8VG9HbFux
is my individual Ycash address. Replace it with your own.--server http://127.0.0.1:3334
: the--server
flag tells the miner where to submit your blocks to. Replace this with your mining pool of choice. You can view a list of active mining pools here.--par=192,7
: This tells miniZ that we’d like to mine using the Equihash 192,7 algorithm.
Creating a Script
Windows and Linux shells both have good support for scripting. This allows us to actually create a file and use variables for tweaking our configuration.
This script below allows you to set config variables in Linux: USER
, SERVER
, and PARAMS
. Give your script a name and save it as my-mining-script.sh
.
#!/bin/bash
# Define variables
USER="s1QBTeWq5mFtFGVeGYogWFpkmx8VG9HbFux"
SERVER="http://127.0.0.1:3334"
PARAMS="192,7"
# Start the miner
./miniZ --user "$USER" --server "$SERVER" --par="$PARAMS"
Next, we have the same file for Windows. On Windows, you’ll save it as a batch file, my-mining-script.bat
.
@echo off
set USER=s1QBTeWq5mFtFGVeGYogWFpkmx8VG9HbFux
set SERVER=http://127.0.0.1:3334
set PARAMS=192,7
miniZ.exe --user %USER% --server %SERVER% --par=%PARAMS%
When your miner is running, it will look similar to the image below.
Advanced Usage
Once you know how to mine, you can do all sorts of things to customize your miner. ASUS GPU Tweak is an excellent tool for finetuning your cards. You can overclock your RAM and decrease your power consumption in order to use less power and often still get close to the same mining reward.
Solomining is also a great way to take it to the next level. As we mentioned earlier, the development fund is now completely optional, you can take the entire block reward! Follow this old guide if you’re interested in solomining. Make sure to add ydf=0
to your ycash.conf
file in order to take full advantage of the new mining protocol. Also, make sure to replace the Gminer commands with the commands you learned in this article.
Conclusion
Now you know how to take part in the age old tradition of crypto mining. You should have a solid understanding of how to use miniZ and how to run a basic bash or shell script. Contribute to the decentralized network and earn block rewards in return… Go forth and mine!
If you’d like to learn more about Ycash, check out the following articles.