Go to file
teor 2550c44d48
Make sync ignore known hashes (#853)
* fix: Handle known ObtainTips correctly

enumerate never returns a value beyond the end of the vector.

* fix: Ignore known tips in ExtendTips

Some peers send us known tips when we try to extend.

* fix: Ignore known hashes when downloading

Despite all our other checks, we still end up downloading some hashes
multiple times.

* fix: Increase the number of retries

The old sync code relied on duplicate block fetches to make progress,
but the last few commits have removed some of those duplicates.

Instead, just retry the fetches that fail.

* fix: Tweak comments

Co-authored-by: Jane Lusby <jlusby42@gmail.com>

* fix: Cleanup the state_contains interface in Sync

* Fix brackets

Oops

Co-authored-by: Jane Lusby <jlusby42@gmail.com>
2020-08-10 16:17:50 -07:00
.github Add KaTeX to rendered docs. (#832) 2020-08-05 17:34:30 -07:00
book Add a definitions section to our RFC template (#846) 2020-08-07 13:29:00 -04:00
design Update data-flow.md 2020-08-04 22:44:39 -07:00
tower-batch build(deps): bump tracing from 0.1.17 to 0.1.18 2020-08-03 15:49:30 -04: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 Rename script fields to lock/unlock scripts. (#866) 2020-08-10 11:49:38 -07:00
zebra-client Align crate versions and user-agent with NU numbers. 2020-07-24 11:46:37 -07:00
zebra-consensus refactor: Move NetworkUpgrade to zebra-chain 2020-08-10 18:54:42 +10:00
zebra-network Print endpoint addresses at startup (#867) 2020-08-10 12:47:26 -07:00
zebra-rpc Align crate versions and user-agent with NU numbers. 2020-07-24 11:46:37 -07:00
zebra-script Align crate versions and user-agent with NU numbers. 2020-07-24 11:46:37 -07:00
zebra-state fix: Stop duplicating genesis hashes in the block locator 2020-08-10 18:58:21 +10:00
zebra-test Make more checks in non server acceptance tests (#860) 2020-08-10 12:50:48 -07:00
zebra-utils build(deps): bump color-eyre from 0.5.0 to 0.5.1 (#855) 2020-08-07 10:12:50 -07:00
zebrad Make sync ignore known hashes (#853) 2020-08-10 16:17:50 -07:00
.firebaserc Try building internal docs. 2020-02-10 18:12:43 -08:00
.gitignore Implement sync component for start subcommand (#506) 2020-06-22 19:24:53 -07:00
.rustfmt.toml Tracing endpoint (#3) 2019-09-09 13:05:42 -07:00
CONTRIBUTING.md Reorganize the book. (#843) 2020-08-06 15:39:54 -07:00
Cargo.lock build(deps): bump indexmap from 1.5.0 to 1.5.1 2020-08-10 06:06:00 -04:00
Cargo.toml Refactor tracing components (#834) 2020-08-06 10:29:31 -07:00
Dockerfile Put all ports EXPOSE'd on the same line 2020-06-19 03:46:09 -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 Turn off the CodeCov PR comment, metrics available in the checks results which link to codecov.io 2020-07-24 18:18:46 -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.