Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Running Zebra

You can run Zebra as a backend for lightwalletd, or a mining pool.

For Kubernetes and load balancer integrations, Zebra provides simple HTTP health endpoints.

Optional Configs & Features

Zebra supports a variety of optional features which you can enable and configure manually.

Initializing Configuration File

The command below generates a zebrad.toml config file at the default location for config files on GNU/Linux. The locations for other operating systems are documented in the dirs crate documentation.

zebrad generate -o ~/.config/zebrad.toml

The generated config file contains Zebra’s default options, which take place if no config is present. The contents of the config file is a TOML encoding of the internal config structure. All config options are documented in the ZebradConfig documentation.

Configuring Progress Bars

Configure tracing.progress_bar in your zebrad.toml to show key metrics in the terminal using progress bars. Progress bars are included in default release builds. When progress bars are active, Zebra automatically sends logs to a file. Note that there is a known issue where progress bar estimates become extremely large. The progress_bar = "summary" config shows a few key metrics, and detailed shows all available metrics.

Custom Build Features

Zebra release builds include several features by default:

Additional Cargo features that require explicit enabling:

You can combine multiple features by listing them as parameters of the --features flag:

cargo install --features="<feature1> <feature2> ..." ...

The full list of all features is in the API documentation. Some debugging and monitoring features are disabled in release builds to increase performance.

Return Codes

  • 0: Application exited successfully
  • 1: Application exited unsuccessfully
  • 2: Application crashed
  • zebrad may also return platform-dependent codes.