The easiest way to run Zebra is using Docker.
We've embraced Docker in Zebra for most of the solution lifecycle, from development environments to CI (in our pipelines), and deployment to end users.
You can deploy Zebra for a daily use with the images available in Docker Hub or build it locally for testing
docker run --detach zfnd/zebra:1.0.0-rc.1
git clone --depth 1 --branch v1.0.0-rc.1 https://github.com/ZcashFoundation/zebra.git docker build --file docker/Dockerfile --target runtime --tag zebra:local docker run --detach zebra:local
See the Zebra build instructions.
The Zebra team builds multiple images with a single Dockerfile using multistage builds. The
test stage adds needed features and tools (like lightwalletd) and the
runtime stage just adds the zebrad binary and required zcash-params for Zebra to run correctly.
As a result the Zebra team builds four images:
- zcash-params: built Zcash network parameters
- lightwalletd: a backend service that provides an interface to the Zcash blockchain
- zebrad-test: a zebrad binary with lightwalletd included, and test suites enabled
- zebra: a streamlined version with the zebrad binary and just the needed features needed to run as-is
The images built by the Zebra team are all publicly hosted. Old image versions meant to be used by our CI pipeline (
lighwalletd) might be deleted on a scheduled basis.