Experimental Mining Support in Zebra

Zebra can now generate block templates, so mining pool operators can use it as a backend for their mining operations. We have successfully mined blocks on Testnet using block templates generated by Zebra (with a fork of s-nomp acting as a mining pool) but didn’t have any hash power to mine blocks on Mainnet. We would therefore like to invite any mining pool operators or solo miners to try Zebra and let us know on our Discord or the Zcash Community Forums about how it performs (and whether their profits have increased!).

 Teor, one of our engineers, was the first who mined the first block on Testnet using Zebra.

Teor, one of our engineers, mined the first block on Testnet with Zebra


Brief Technical Background

Zebra implements the getblocktemplate RPC together with its associated RPCs. You can find the instructions for mining in The Zebra Book. In a nutshell, you need to compile Zebra with the getblocktemplate-rpcs feature flag and adjust the config file to suit your setup. You can find the recommended system requirements here. The Zebra Book also contains other useful details. For example, you can enable metrics via Prometheus and Grafana.

With each Zebra release, along with our regular Docker images, we also publish ones that have the .experimental suffix in their name. These images let you instantly run Zebra with mining support enabled. You can read more about them in the docs here. If you’re compiling Zebra yourself, you can enable freshly implemented terminal-based progress bars that will let you easily see Zebra’s syncing status and a bunch of other metrics directly from the terminal.