Go to file
Jane Lusby 86ed13060f
Add tests for `Chain` implementation (#1093)
* Begin work on RFC5 implementation

* I think this is necessary

* holy shit supertrait implemented via subtrait

* implement most of the chain functions

* change to slightly better name

* implement fork

* fix outpoint handling in Chain struct

* update expect for work

* resolve review comment

* split utxo into two sets

* update the Chain definition

* just a little more

* update comment

* Apply suggestions from code review

Co-authored-by: teor <teor@riseup.net>

* apply changes from code review

* remove allow attribute in zebra-state/lib.rs

* Update zebra-state/src/memory_state.rs

Co-authored-by: teor <teor@riseup.net>

* merge ChainSet type into MemoryState

* rename state impl types

* Add error messages to asserts

* checkpoint so I can split off arbitrary changes into a PR

* export proptest impls for use in downstream crates

* add testjob for disabled feature in zebra-chain

* run rustfmt

* try to fix github actions syntax

* differentiate name

* prove that github action tests zebra-chain build without features

* revert change from last commit now that test is running

* remove accidentally introduced newline

* checkpoint

* add module doc comment

* update RFC for utxos

* add missing header

* working proptest for Chain

* apply change from chain impl PR

* setup config for proptests

* Update zebra-chain/src/block/arbitrary.rs

Co-authored-by: teor <teor@riseup.net>

* run rustfmt

Co-authored-by: teor <teor@riseup.net>
2020-10-02 15:51:51 -07:00
.github export proptest impls for use in downstream crates (#1092) 2020-09-23 18:52:52 -07:00
book Add tests for `Chain` implementation (#1093) 2020-10-02 15:51:51 -07:00
design Update data-flow.md 2020-08-04 22:44:39 -07:00
tower-batch build(deps): bump pin-project from 0.4.24 to 0.4.25 2020-10-02 11:18:13 -04:00
tower-fallback build(deps): bump pin-project from 0.4.24 to 0.4.25 2020-10-02 11:18:13 -04:00
zebra-chain Add tests for `Chain` implementation (#1093) 2020-10-02 15:51:51 -07:00
zebra-client Align crate versions and user-agent with NU numbers. 2020-07-24 11:46:37 -07:00
zebra-consensus build(deps): bump chrono from 0.4.18 to 0.4.19 2020-10-01 15:09:10 -04:00
zebra-network deps: use Tower 0.4 from git instead of 0.3.1. 2020-09-21 14:16:56 -07:00
zebra-rpc Align crate versions and user-agent with NU numbers. 2020-07-24 11:46:37 -07:00
zebra-script Manually rustfmt code inside lazy_static! 2020-09-29 11:42:00 -04:00
zebra-state Add tests for `Chain` implementation (#1093) 2020-10-02 15:51:51 -07:00
zebra-test Add tests for `Chain` implementation (#1093) 2020-10-02 15:51:51 -07:00
zebra-utils build(deps): bump structopt from 0.3.17 to 0.3.18 2020-09-24 18:25:54 -04:00
zebrad disable reporting url for timeout errors (#1087) 2020-09-21 16:15:09 -07:00
.firebaserc Try building internal docs. 2020-02-10 18:12:43 -08:00
.gitignore Add block test vectors for each network upgrade (#1096) 2020-09-28 12:42:06 +10:00
CONTRIBUTING.md Add issue and PR templates, document RFC process 2020-08-31 00:58:50 -04:00
Cargo.lock Add tests for `Chain` implementation (#1093) 2020-10-02 15:51:51 -07:00
Cargo.toml deps: use Tower 0.4 from git instead of 0.3.1. 2020-09-21 14:16:56 -07:00
Dockerfile Explicitly pass our config to the start command 2020-09-04 01:02:32 -04:00
LICENSE-APACHE Add copyright marks on each license 2019-11-14 11:50:49 -08:00
LICENSE-MIT Add copyright marks on each license 2019-11-14 11:50:49 -08:00
README.md Reorganize the book. (#843) 2020-08-06 15:39:54 -07:00
clippy.toml Apply clippy fixes 2020-02-05 12:42:32 -08:00
cloudbuild.yaml Fix CD workflow using cloudbuild.yaml (#637) 2020-07-10 07:37:54 -04:00
codecov.yml Disable CodeCov annotations via GitHub Checks 2020-09-10 14:52:01 -04:00
firebase.json Configure redirect for firebase hosting 2020-01-16 18:38:16 -05:00
katex-header.html Add KaTeX to rendered docs. (#832) 2020-08-05 17:34:30 -07:00
prometheus.yaml Tell Prometheus to scrape more aggressively 2020-02-14 20:14:05 -05:00

README.md

Zebra logotype


codecov License

Hello! I am Zebra, an ongoing Rust implementation of a Zcash node.

Zebra is a work in progress. It is developed as a collection of zebra-* libraries implementing the different components of a Zcash node (networking, chain structures, consensus rules, etc), and a zebrad binary which uses them.

Most of our work so far has gone into zebra-network, building a new networking stack for Zcash, zebra-chain, building foundational data structures, zebra-consensus, implementing consensus rules, and zebra-state, providing chain state.

Zebra Website.

Rendered docs from the main branch.

Join us on Discord.

License

Zebra is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT.