Once you have the Ziggurat code checked out and at least one node implementation (zcashd or zebra) installed, you can now use Ziggurat. A small amount of configuration is needed first.


Create a file called config.toml in the Ziggurat root.

Inside that file, configure Ziggurat's target for testing:

# ./config.toml

kind = "zebra"
path = "path/to/zebra/repo"
start_command = "cargo +stable r -- --config zebra.toml --verbose start"

# kind = "zcashd"
# path = "path/to/zcash/repo"
# start_command = "./src/zcashd -debug=1 -dnsseed=0 -printtoconsole -logips=1 -listenonion=0 -dns=0 -conf=/path/to/zcash/repo/zcash.conf"

The configuration keys are as follows:

Running Ziggurat

Once the configuration file is set, simply run:

$ cargo test -- --test-threads=1

Why --test-threads=1?

We use the single thread executor because running multiple native node implementations in parallel is not currently supported.

From here, you can learn more about the test suite that Ziggurat runs, or try your hand at writing your own Ziggurat Tests.