97455a1eff
The original draft spec for RedJubjub did not include key prefixing, and both this reference implementation and the Rust implementation were implemented following that spec. Then when key prefixing was added, the Rust code was updated at its call sites instead of inside the RedJubjub implementation. Now that we are migrating to the `redjubjub` crate which correctly builds in key prefixing, the old test vectors can no longer be used. |
||
---|---|---|
.github/workflows | ||
test-vectors | ||
zcash_test_vectors | ||
.gitignore | ||
COPYING.md | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md | ||
orchard_vesta.py | ||
poetry.lock | ||
pyproject.toml | ||
regenerate.sh |
README.md
Zcash Python test vectors
Code to generate test vectors for various parts of Zcash.
The generated test vectors are checked into the repository:
test-vectors/json/
: JSON format.test-vectors/rust/
: Rust format, suitable for copying into a Rust library or application to use from#[cfg(test)]
code.test-vectors/zcash/
: Bitcoin-flavoured JSON format (where 256-bit values are encoded as byte-reversed hex strings), for use inzcashd
unit tests.
To generate the test vectors yourself (for example, to generate a larger set after adjusting:
- Install
poetry
. poetry install
poetry run SCRIPT_NAME [-t json|rust|zcash]
SCRIPT_NAME
is one of the scripts listed inpyproject.toml
.
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.