zebra/zebra-utils
teor 022808d028
Release Zebra v1.0.0-beta.2 (#3132)
Zebra's latest beta continues implementing zero-knowledge proof and note commitment tree validation. In this release, we have finished implementing transaction header, transaction amount, and Zebra-specific NU5 validation. (NU5 mainnet validation is waiting on an `orchard` crate update, and some consensus parameter updates.)

We also fix a number of security issues that could pose a local denial of service risk, or make it easier for an attacker to make a node follow a false chain.

As of this release, Zebra will automatically download and cache the Sprout and Sapling Groth16 circuit parameters. The cache uses around 1 GB of disk space. These cached parameters are shared across all Zebra and `zcashd` instances run by the same user.

See CHANGELOG.md for the full list of changes in this release.
2021-12-03 06:54:14 +10:00
..
src Standardise clippy lints and require docs (#2238) 2021-06-04 08:48:40 +10:00
Cargo.toml Release Zebra v1.0.0-beta.2 (#3132) 2021-12-03 06:54:14 +10:00
README.md Fix typos (#3055) 2021-11-12 19:30:22 +00:00
coverage Support systems where bash isn't in /usr/bin (#1473) 2020-12-08 07:47:31 +10:00
zebrad-hash-lookup Support systems where bash isn't in /usr/bin 2020-11-05 08:42:19 -05:00
zebrad-log-filter Support systems where bash isn't in /usr/bin 2020-11-05 08:42:19 -05:00

README.md

Zebra Utilities

This crate contains tools for zebra maintainers.

Programs

Binaries are easier to use if they are located in your system execution path.

zebra-checkpoints

This software will output a list of zcash block hashes that are used as zebra checkpoints. To create checkpoints a synchronized instance of zcashd is needed and a zcash-cli wallet connected to it must be available locally. For more information about how to create a checkpoint list please check here

This is a standalone rust binary, can be compiled as:

cargo build --release --bin zebra-checkpoints

After built check the program help with:

./target/release/zebra-checkpoints --help

zebrad-hash-lookup

Given a block hash the script will get additional information using zcash-cli.

$ echo "00000001f53a5e284393dfecf2a2405f62c07e2503047a28e2d1b6e76b25f863" | zebrad-hash-lookup 
high: 3299
time: 2016-11-02T13:24:26Z
hash: 00000001f53a5e284393dfecf2a2405f62c07e2503047a28e2d1b6e76b25f863
prev: 00000001dbbb8b26eb92003086c5bd854e16d9f16e2e5b4fcc007b6b0ae57be3
next: 00000001ff3ac2b4ccb57d9fd2d1187475156489ae22337ca866bbafe62991a2
$ 

This program is commonly used as part of zebrad-log-filter where hashes will be captured from zebrad output.

zebrad-log-filter

The program is designed to filter the output from the zebra terminal or log file. Each time a hash is seen the script will capture it and get the additional information using zebrad-hash-lookup.

Assuming zebrad, zclash-cli, zebrad-hash-lookup and zebrad-log-filter are in your path the program can used as:

$ zebrad -v start | zebrad-log-filter 
...
block::Hash("
high: 2800
time: 2016-11-01T16:17:16Z
hash: 00000001ecd754790237618cb79c4cd302e52571ecda7a80e6113c5e423c0e55
prev: 00000003ed8623d9499f4bf80f8bc410066194bf6813762b31560f9319205bf8
next: 00000001436277884eef900772f0fcec9566becccebaab4713fd665b60fab309
"))) max_checkpoint_height=Height(419581)
...