Skip to content

Mining Guide

tarrenj edited this page Sep 11, 2018 · 29 revisions

Horizen Mining Guide

Welcome! This guide is intended to get you mining Horizen, a.k.a. "ZEN", on the Horizen mainnet. The unit for mining is Sol/s (Solutions per second).

If you run into snags, please let us know. There's plenty of work needed to make this usable and your input will help us prioritize the worst sharpest edges earlier. For user help, we recommend using our forum or ticketing system:

https://forum.zensystem.io/ https://support.zensystem.io/

Setup

First, you need to set up your local Horizen node. Follow the [1.0 User Guide](1.0 User Guide) up to the end of the section "Compiling", then come back here. (You can also do the "Testing" section if you want!)

Configuration

Configure your node as per 1.0-User-Guide#configuration, including the section Enabling CPU Mining.

Mining

Now, start Mining!

$ ./src/zend 

To run it in the background (without the node metrics screen that is normally displayed):

$ ./src/zend -daemon

You should see the following output in the debug log (~/.zen/debug.log):

Horizen Miner started

Congratulations! You are now mining on the mainnet.

To stop the Horizen daemon, enter the command:

$ ./src/zen-cli stop 

Spending Mining Rewards

Coins are mined into a t-addr (transparent address), but can only be spent to a z-addr (shielded address), and must be swept out of the t-addr in one transaction with no change. Refer to our 1.0 User Guide for instructions on how to use the z_sendmany command to send coins from a t-addr to a z-addr. You will need at least 4GB of RAM for this operation.

Mining pools

If you're mining by yourself or at home, you're most likely to succeed if you join an existing mining pool. See this list of mining pools for further instructions.

P2PKH transactions

The internal zend miner inherited from Bitcoin used P2PK for coinbase transactions, but Horizen 2.0.6 and later use P2PKH by default, following the trend for Bitcoin.

Configuration options

Mine to a single address

The internal zend miner uses a new transparent address for each mined block. If you want to instead use the same address for every mined block, use the -mineraddress= option available in Horizen 2.0.6 and later.