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 {}) => { let home = std::env::var("HOME").expect("couldn't read home directory env variable"); let _ = init::init(home); } 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."), } }