# Running Zebra `zebrad generate` generates a default config. These defaults will be used if no config is present, so it's not necessary to generate a config. However, having a config file with the default fields is a useful starting point for changing the config. The configuration format is the TOML encoding of the internal config structure, and documentation for all of the config options can be found [here](https://docs.rs/zebrad/latest/zebrad/config/struct.ZebradConfig.html). - `zebrad start` starts a full node. You can run Zebra as a: - [`lightwalletd` backend](https://zebra.zfnd.org/user/lightwalletd.html), - [mining backend](https://zebra.zfnd.org/user/mining.html), or - experimental [Sapling shielded transaction scanner](https://zebra.zfnd.org/user/shielded-scan.html). ## Supported versions Always run a supported version of Zebra, and upgrade it regularly, so it doesn't become unsupported and halt. [More information](../dev/release-process.md#supported-releases). ## Return Codes - `0`: Application exited successfully - `1`: Application exited unsuccessfully - `2`: Application crashed - `zebrad` may also return platform-dependent codes.