Files
bft-crdt-experiment/side-node/src/main.rs

34 lines
877 B
Rust
Raw Normal View History

use cli::{parse_args, Commands};
2024-05-29 12:44:52 +01:00
2024-05-29 13:17:16 +01:00
pub(crate) mod cli;
2024-05-29 16:47:35 +01:00
pub(crate) mod init;
pub(crate) mod list_transaction_crdt;
pub(crate) mod websocket;
2024-05-29 13:17:16 +01:00
2024-05-29 12:44:52 +01:00
#[tokio::main]
async fn main() {
let args = parse_args();
2024-05-29 12:44:52 +01:00
match &args.command {
Some(Commands::Init { name }) => {
2024-06-06 15:54:33 +01:00
let config = init::config::SideNodeConfig {
name: name.to_string(),
2024-06-06 15:54:33 +01:00
};
let _ = init::init(home(name), config);
}
Some(Commands::Run {}) => {
let (mut bft_crdt, keys) = list_transaction_crdt::new();
2024-06-05 19:42:41 +01:00
websocket::start(keys, &mut bft_crdt).await.unwrap();
}
2024-05-29 16:47:35 +01:00
None => println!("No command provided. Exiting. See --help for more information."),
2024-05-29 12:44:52 +01:00
}
2024-05-29 08:32:40 +01:00
}
fn home(name: &String) -> std::path::PathBuf {
let mut path = dirs::home_dir().unwrap();
path.push(".side");
path.push(name);
path
}