Go to file
Jane Lusby 352721bd88
Implement RFC5: State updates `Chain` type (#1069)
* 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

* add module doc comment

* update RFC for utxos

* add missing header

Co-authored-by: teor <teor@riseup.net>
2020-09-24 15:46:04 -07:00
.github export proptest impls for use in downstream crates (#1092) 2020-09-23 18:52:52 -07:00
book Implement RFC5: State updates `Chain` type (#1069) 2020-09-24 15:46:04 -07:00
design Update data-flow.md 2020-08-04 22:44:39 -07:00
tower-batch deps: use Tower 0.4 from git instead of 0.3.1. 2020-09-21 14:16:56 -07:00
tower-fallback build(deps): bump pin-project from 0.4.22 to 0.4.23 2020-07-28 17:27:25 -04:00
zebra-chain Implement RFC5: State updates `Chain` type (#1069) 2020-09-24 15:46:04 -07:00
zebra-client Align crate versions and user-agent with NU numbers. 2020-07-24 11:46:37 -07:00
zebra-consensus deps: use Tower 0.4 from git instead of 0.3.1. 2020-09-21 14:16:56 -07: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 disable reporting url for timeout errors (#1087) 2020-09-21 16:15:09 -07:00
zebra-state Implement RFC5: State updates `Chain` type (#1069) 2020-09-24 15:46:04 -07:00
zebra-test export proptest impls for use in downstream crates (#1092) 2020-09-23 18:52:52 -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 .cargo to the gitignore file 2020-08-28 20:14:12 -04:00
CONTRIBUTING.md Add issue and PR templates, document RFC process 2020-08-31 00:58:50 -04:00
Cargo.lock build(deps): bump structopt from 0.3.17 to 0.3.18 2020-09-24 18:25:54 -04: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.