Go to file
Henry de Valence cbb50ea506 Simplify `where` bounds on services.
Placing bounds on the service's future is less ideal, because the future is
already constrained by the `Service` trait, so the bounds can be expressed more
directly and simply by bounding the service itself.

If the verification service already has to have a generic parameter for the
future (the `ZSF`), it could instead be generic over `S`, the storage service.
This has the upside that it's no longer required for the verification service
to box the storage service, so we don't add any extra layers of indirection,
and the where bounds become more straightforward, since they're centered on the
requirements for the storage service itself, not the future it returns.
Finally, we can simplify the bounds by using the request / response types
directly rather than defining wrapper types.
2020-06-12 09:46:18 -07:00
.github Bump codecov/codecov-action from v1 to v1.0.7 2020-06-09 17:47:18 -04:00
design design: Add validation to the design doc 2020-06-12 09:46:18 -07:00
zebra-chain Wrap Transaction in Arc 2020-06-06 18:13:17 -04:00
zebra-client Add Zebra logo to all workspace crates. 2020-02-26 21:25:35 -08:00
zebra-consensus Simplify `where` bounds on services. 2020-06-12 09:46:18 -07:00
zebra-network Use new seeder address for yolo.money 2020-06-10 21:49:25 -04:00
zebra-rpc Add Zebra logo to all workspace crates. 2020-02-26 21:25:35 -08:00
zebra-script Correct block version parsing. 2020-03-18 21:34:02 -04:00
zebra-state state: Add an Error type alias to ZebraState 2020-06-12 09:46:18 -07:00
zebra-test-vectors Add initial version of zebra-state (#414) 2020-06-02 16:16:17 -07:00
zebrad Reorganize `connect` subcommand for readibility (#450) 2020-06-12 09:20:58 -07:00
.firebaserc Try building internal docs. 2020-02-10 18:12:43 -08:00
.gitignore Ignore emacs temp files 2020-06-12 09:46:18 -07:00
.rustfmt.toml Tracing endpoint (#3) 2019-09-09 13:05:42 -07:00
Cargo.lock consensus: add a (failing) verify round-trip test 2020-06-12 09:46:18 -07:00
Cargo.toml fix tracing configuration issues (#432) 2020-06-04 19:34:06 -07:00
Dockerfile Try debian:buster-slim instead of alpine 2020-01-30 13:39:13 -05: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 Add link to CI workflows on main 2020-04-22 03:19:33 -04:00
clippy.toml Apply clippy fixes 2020-02-05 12:42:32 -08:00
cloudbuild.yaml 0.17.0 has an old version cached, rolling back to 0.15.0 2020-02-04 04:44:38 -05:00
codecov.yml Make per-patch coverage informational, not enforced 2020-06-03 02:34:28 -04:00
firebase.json Configure redirect for firebase hosting 2020-01-16 18:38:16 -05: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, and zebra-chain, building foundational data structures.

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.

Metrics

Notes on local metrics collection:

# create a storage volume for grafana (once)
sudo docker volume create grafana-storage
# create a storage volume for prometheus (once)
sudo docker volume create prometheus-storage

# run prometheus with the included config
sudo docker run --network host -v prometheus-storage:/prometheus -v /path/to/zebra/prometheus.yaml:/etc/prometheus/prometheus.yml  prom/prometheus

# run grafana
sudo docker run -d --network host -e GF_SERVER_HTTP_PORT=3030 -v grafana-storage:/var/lib/grafana grafana/grafana

Now the grafana dashboard is available at http://localhost:3030 ; the default password is admin/admin.