Ziggurat is simple to install and run, but it does not work by itself. It requires a node implementation to test, such as zcashd and zebra.

Installing Ziggurat

Ziggurat can be installed from its source on GitHub: https://github.com/eqlabs/ziggurat. Due to the scope of support provided by the node implementations, we are currently only supporting *nix-based systems like Ubuntu or MacOS.

Currently, all that's required to "install" Ziggurat is a git clone:

$ git clone <https://github.com/eqlabs/ziggurat>
$ cd ziggurat

However, in order to use Ziggurat you will need to install at least one node implementation such as zcashd or zebra.

Installing Node Implementations

zcashd

zcashd can be installed by using the official instructions for your operating system. We recommend building from source for consistency and to ensure you're using the right versions. Alternatively, you can use ECC's Debian/Ubuntu package or the binary tarball.

However, please note that Docker is not supported as it can theoretically produce unreliable test results and increases network complexity.

# After installing dependencies
$ git clone <https://github.com/zcash/zcash>
$ cd zcash
$ git checkout v4.4.1            # optional, or use master
$ ./zcutil/fetch-params.sh
$ ./zcutil/clean.sh
$ ./zcutil/build.sh -j$(nproc)   # or number of cores

After completing the above, you can skip the configuration steps, i.e. creating ~/.zcashd/zcash.conf as Ziggurat will create new configuration files for reach test run. Also, syncing the blockchain is not required.

zebra

zebra can be installed from its source code on GitHub. Although a Dockerfile is provided, Docker is not supported. We suggest following the instructions below, or similar.

# After installing dependencies
$ git clone <https://github.com/ZcashFoundation/zebra>
$ cd zebra
$ cargo +stable build

Similarly to zcashd, configuration is not necessary since Ziggurat generates new configurations for each test run.


Now that you have everything installed, you can move on to Usage.