@@ -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