@@ -4,7 +4,7 @@ version = "0.1.0"
|
|||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = { version = "4.5.45", features = ["derive"] }
|
clap = { version = "4.5.45", features = ["derive", "env"] }
|
||||||
serde = { version = "1.0.219", features = ["derive"] }
|
serde = { version = "1.0.219", features = ["derive"] }
|
||||||
serde_json = "1.0.143"
|
serde_json = "1.0.143"
|
||||||
tokio = { version = "1.47.1", features = ["full"] }
|
tokio = { version = "1.47.1", features = ["full"] }
|
||||||
|
48
src/main.rs
48
src/main.rs
@@ -1,3 +1,47 @@
|
|||||||
fn main() {
|
use clap::Parser;
|
||||||
println!("Hello, world!");
|
use std::net::{IpAddr, SocketAddr};
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Parser)]
|
||||||
|
#[command(
|
||||||
|
name = "herocoordinator",
|
||||||
|
version,
|
||||||
|
about = "Hero Coordinator CLI",
|
||||||
|
long_about = None
|
||||||
|
)]
|
||||||
|
struct Cli {
|
||||||
|
#[arg(
|
||||||
|
long = "mycelium-ip",
|
||||||
|
short = 'i',
|
||||||
|
env = "MYCELIUM_IP",
|
||||||
|
default_value = "127.0.0.1",
|
||||||
|
help = "IP address where Mycelium JSON-RPC is listening (default: 127.0.0.1)"
|
||||||
|
)]
|
||||||
|
mycelium_ip: IpAddr,
|
||||||
|
|
||||||
|
#[arg(
|
||||||
|
long = "mycelium-port",
|
||||||
|
short = 'p',
|
||||||
|
env = "MYCELIUM_PORT",
|
||||||
|
default_value_t = 9651u16,
|
||||||
|
help = "Port for Mycelium JSON-RPC (default: 9651)"
|
||||||
|
)]
|
||||||
|
mycelium_port: u16,
|
||||||
|
|
||||||
|
#[arg(
|
||||||
|
long = "redis-addr",
|
||||||
|
short = 'r',
|
||||||
|
env = "REDIS_ADDR",
|
||||||
|
default_value = "127.0.0.1:6379",
|
||||||
|
help = "Socket address of Redis instance (default: 127.0.0.1:6379)"
|
||||||
|
)]
|
||||||
|
redis_addr: SocketAddr,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let cli = Cli::parse();
|
||||||
|
|
||||||
|
println!(
|
||||||
|
"mycelium_ip={}, mycelium_port={}, redis_addr={}",
|
||||||
|
cli.mycelium_ip, cli.mycelium_port, cli.redis_addr
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user