diff --git a/zebrad/src/commands/start.rs b/zebrad/src/commands/start.rs index 39817b3b7..808f3a3e6 100644 --- a/zebrad/src/commands/start.rs +++ b/zebrad/src/commands/start.rs @@ -1,4 +1,21 @@ //! `start` subcommand - entry point for starting a zebra node +//! +//! ## Application Structure +//! +//! A zebra node consists of the following services and tasks: +//! +//! * Network Service +//! * primary interface to the node +//! * handles all external network requests for the zcash protocol +//! * provides an interface to the rest of the network for other services and +//! tasks running within this node +//! * Consensus Service +//! * handles all validation logic for the node +//! * verifies blocks using zebra-chain and zebra-script, then stores verified +//! blocks in zebra-state +//! * Sync Task +//! * This task runs in the background and continouously queries the network for +//! new blocks to be verified and added to the local state use crate::config::ZebradConfig; use crate::{components::tokio::TokioComponent, prelude::*}; use abscissa_core::{config, Command, FrameworkError, Options, Runnable};