From 528fd2b5b1a17c7c0520b1d1d4d714045ba1ee25 Mon Sep 17 00:00:00 2001 From: Jane Lusby Date: Mon, 15 Jun 2020 16:16:46 -0700 Subject: [PATCH] add an outline of the structure of the node --- zebrad/src/commands/start.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/zebrad/src/commands/start.rs b/zebrad/src/commands/start.rs index 39817b3b..808f3a3e 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};