diff --git a/README.md b/README.md index 20c03d845b4..72b2fbf7e81 100644 --- a/README.md +++ b/README.md @@ -72,9 +72,11 @@ Every few weeks, we release a [new Zebra version](https://github.com/ZcashFounda Below are quick summaries for installing the dependencies on your machine. -
+[//]: # "The empty line in the `summary` tag below is required for correct Markdown rendering." +
-

General instructions for installing dependencies

+#### General instructions for installing dependencies +
1. Install [`cargo` and `rustc`](https://www.rust-lang.org/tools/install). @@ -88,9 +90,11 @@ Below are quick summaries for installing the dependencies on your machine.
-
+[//]: # "The empty line in the `summary` tag below is required for correct Markdown rendering." +
-

Dependencies on Arch

+#### Dependencies on Arch +
```sh sudo pacman -S rust clang pkgconf @@ -178,20 +182,20 @@ There are a few bugs in Zebra that we're still working on fixing: - Experimental Tor support is disabled until [Zebra upgrades to the latest `arti-client`](https://github.com/ZcashFoundation/zebra/issues/5492). This happened due to a Rust dependency conflict, which could only be resolved by `arti` upgrading to a version of `x25519-dalek` with the dependency fix. -## Future Work +## Documentation -We will continue to add new features as part of future network upgrades, and in response to community feedback. +The Zcash Foundation maintains the following resources documenting Zebra: -## Documentation +- The Zebra Book: + - [General Introduction](https://zebra.zfnd.org/index.html), + - [User Documentation](https://zebra.zfnd.org/user.html), + - [Developer Documentation](https://zebra.zfnd.org/dev.html). -The [Zebra website](https://zebra.zfnd.org/) contains user documentation, such -as how to run or configure Zebra, set up metrics integrations, etc., as well as -developer documentation, such as design documents. It also renders -[internal documentation](https://doc-internal.zebra.zfnd.org) for private APIs -on the `main` branch. +- The public APIs for the latest releases of the individual `zebra-*` crates are documented at +[docs.rs](https://docs.rs/releases/search?query=zebrad). -`docs.rs` renders [API documentation](https://docs.rs/releases/search?query=zebra) -for the external API of the latest releases of our crates. +- The internal APIs for the `main` branch are documented at +. ## User support diff --git a/book/src/api.md b/book/src/api.md index 04e064b406e..212ff130684 100644 --- a/book/src/api.md +++ b/book/src/api.md @@ -2,7 +2,7 @@ Zebra's API documentation is generated using Rustdoc: -- [`docs.rs`](https://docs.rs/releases/search?query=zebra) renders documentation for the public API +- [`docs.rs`](https://docs.rs/releases/search?query=zebrad) renders documentation for the public API of the latest crate releases; - [`doc-internal.zebra.zfnd.org`](https://doc-internal.zebra.zfnd.org/) renders documentation for the internal API on the `main` branch. diff --git a/book/src/dev.md b/book/src/dev.md index 2148325aaf0..2874d1eb435 100644 --- a/book/src/dev.md +++ b/book/src/dev.md @@ -3,7 +3,7 @@ This section contains the contribution guide and design documentation. It does not contain API documentation, which is generated using Rustdoc: -- [`docs.rs`](https://docs.rs/releases/search?query=zebra) renders documentation for the public API +- [`docs.rs`](https://docs.rs/releases/search?query=zebrad) renders documentation for the public API of the latest crate releases; - [`doc-internal.zebra.zfnd.org`](https://doc-internal.zebra.zfnd.org/) renders documentation for the internal API on the `main` branch. diff --git a/book/theme/css/custom.css b/book/theme/css/custom.css index 62fb70f38ea..7ddd666208b 100644 --- a/book/theme/css/custom.css +++ b/book/theme/css/custom.css @@ -12,4 +12,12 @@ html.navy #service-dep-diagram, html.ayu #service-dep-diagram, html.coal #service-dep-diagram { filter: invert(1); -} \ No newline at end of file +} + +h2, +h3, +h4, +h5, +h6 { + display: inline-block; +} diff --git a/zebrad/src/lib.rs b/zebrad/src/lib.rs index 2043c082521..66338891559 100644 --- a/zebrad/src/lib.rs +++ b/zebrad/src/lib.rs @@ -1,16 +1,7 @@ //! ![Zebra logotype](https://zfnd.org/wp-content/uploads/2022/03/zebra-logotype.png) //! -//! Zebra is a Zcash node written in Rust. -//! -//! The `zebrad` binary uses a collection of `zebra-*` crates, -//! which implement the different components of a Zcash node -//! (networking, chain structures, validation, rpc, etc). -//! -//! [Rendered docs for the latest crate releases](https://docs.rs/releases/search?query=zebra). -//! -//! [Rendered docs from the `main` branch](https://doc-internal.zebra.zfnd.org). -//! -//! [Join us on the Zcash Foundation Engineering Discord](https://discord.gg/na6QZNd). +//! Zebra is a Zcash full node written in Rust. Follow the [introductory +//! page](https://zebra.zfnd.org/index.html#documentation) in the Zebra Book to learn more. //! //! ## About Zcash //! @@ -66,7 +57,9 @@ //! //! ## Zebra Feature Flags //! -//! The following `zebrad` feature flags are available at compile time: +//! The following [Cargo +//! features](https://doc.rust-lang.org/cargo/reference/features.html#command-line-feature-options) +//! are available at compile time: //! //! ### JSON-RPC //! @@ -117,6 +110,29 @@ //! * `internal-miner`: enable experimental support for mining inside Zebra, without an external //! mining pool. This feature is only supported on testnet. Use a GPU or ASIC on mainnet for //! efficient mining. +//! +//! ## Zebra crates +//! +//! [The Zebra monorepo](https://github.com/ZcashFoundation/zebra) is a collection of the following +//! crates: +//! +//! - [tower-batch-control](https://docs.rs/tower-batch-control/latest/tower_batch_control/) +//! - [tower-fallback](https://docs.rs/tower-fallback/latest/tower_fallback/) +//! - [zebra-chain](https://docs.rs/zebra-chain/latest/zebra_chain/) +//! - [zebra-consensus](https://docs.rs/zebra-consensus/latest/zebra_consensus/) +//! - [zebra-network](https://docs.rs/zebra-network/latest/zebra_network/) +//! - [zebra-node-services](https://docs.rs/zebra-node-services/latest/zebra_node_services/) +//! - [zebra-rpc](https://docs.rs/zebra-rpc/latest/zebra_rpc/) +//! - [zebra-scan](https://docs.rs/zebra-scan/latest/zebra_scan/) +//! - [zebra-script](https://docs.rs/zebra-script/latest/zebra_script/) +//! - [zebra-state](https://docs.rs/zebra-state/latest/zebra_state/) +//! - [zebra-test](https://docs.rs/zebra-test/latest/zebra_test/) +//! - [zebra-utils](https://docs.rs/zebra-utils/latest/zebra_utils/) +//! - [zebrad](https://docs.rs/zebrad/latest/zebrad/) +//! +//! The links in the list above point to the documentation of the public APIs of the crates. For +//! the documentation of the internal APIs, follow that lists +//! all Zebra crates as well in the left sidebar. #![doc(html_favicon_url = "https://zfnd.org/wp-content/uploads/2022/03/zebra-favicon-128.png")] #![doc(html_logo_url = "https://zfnd.org/wp-content/uploads/2022/03/zebra-icon.png")]