use cli::{parse_args, Commands}; pub(crate) mod cli; pub(crate) mod init; pub(crate) mod list_transaction_crdt; pub(crate) mod websocket; #[tokio::main] async fn main() { let args = parse_args(); match &args.command { Some(Commands::Init { name }) => { let config = init::config::SideNodeConfig { name: name.to_string(), }; let _ = init::init(home(name), config); } Some(Commands::Run {}) => { let (mut bft_crdt, keys) = list_transaction_crdt::new(); websocket::start(keys, &mut bft_crdt).await.unwrap(); } None => println!("No command provided. Exiting. See --help for more information."), } } fn home(name: &String) -> std::path::PathBuf { let mut path = dirs::home_dir().unwrap(); path.push(".side"); path.push(name); path }