Transaction Verifications, Mining and Fees


A couple of questions I have regarding zcashd.

When I run the node I can see it works to validate transactions. That's great as it helps the community. At the same time when I spent zcash there is a transaction fee. So who actually receives the transaction fee. Do I as someone that verifies transactions (without mining) will receive a portion of those fees?

I can see I can enable CPU mining with zcashd. Does it worth doing it? And by worth I mean, do enabling it somehow helps both the network to better validate transactions and me to receive zcash? Or it's just a lottery with very low chance to win, and this feature enabled in zcashd is practically unusable.

Just to note I'm running the node under a Hyper-V VM. The default solver receives about 0.06 sol/s while using tromp's solver, I get about 16 sols/s. At the same time using my 2 GPUs an external miner and a shared pool I receive about 1300 sols/s. So the rephrase the question somehow, does zcashd when used as a miner do something different compared to other miners that may worth considering?

1 Like

Anyone can help to clarify this topic?

Great questions!

No, only the miner who mines a block that includes the transaction gets the fees. (Or other miners who are using a pool, if that pool shares the fees.)

Both! It better enables the network to validate transactions, because if your node got lucky and won a block then the transactions that your node put into that block would get mined. Plus, your node validates transactions and forwards them over the p2p network so other miners can mine them too. On the other hand, GPU miners have gotten so highly optimized now, and there are so many of them, that it is indeed a very unlikely chance that your node would mine a block. Like a lottery.

No, it is just doing normal solo mining.

zooko, thank you a lot for your help.

So what's the purpose of running a node mining? How this actually helps the community?

When you run a full Zcashd node you are verifying transactions on the network (which helps secure the network) and if you choose to also enable mining then you will use your computers CPU to try and solve for blocks.

If you run zcashd with gen=1 in the zcash.conf then you will be mining with your CPU, solo.The drawback to solo mining is since the network difficulty is so high (many miners competing for a block) the chances of you finding a block on your own are very small.

If you want a chance to earn any zcash with your CPU you will need to join a pool, and even then the reward will be very low (like .01 ZEC a week if your CPU makes 30 Sols/s).

I personally have two computers running Zcash all the time, one is a full node (Zcashd) which uses very little power and the other is a dedicated GPU miner. Since GPU is faster at solving the rewards are much higher than CPU on a pool.

To learn more about zcash mining check out

Shawn, I’m looking for some articles to mining on my own node with GPU, but can’t find a tangible information about it.
I just need to point my miner (eg. miner --server myhost) to my node?
At moment I have 4 rigs (with 5 GTX 1080) and I will build more 5 on next week, i think at this point solo mining is an option (with 2.5kSol/s per rig I think can mine a block in less than 30 days considering network hash rate of 370000000 Sol/s ), I’m correct?


@dopro17 You will need to use third party software to run your GPUs, the basic miner that is in the Zcash node can’t run GPUs.

It’s up to you if you want to try solo mining, this thread is very old and the difficulty is much higher now. You can find links to Mining software on