diff --git a/src/bin/client-demo.rs b/src/bin/client-demo.rs index 1482c17df2..bc059a3347 100644 --- a/src/bin/client-demo.rs +++ b/src/bin/client-demo.rs @@ -16,6 +16,15 @@ use std::process::exit; use std::thread::sleep; use std::time::{Duration, Instant}; +fn print_usage(program: &str, opts: Options) { + let mut brief = format!("Usage: cat | {} [options]\n\n", program); + brief += " Solana client demo creates a number of transactions and\n"; + brief += " sends them to a target node."; + brief += " Takes json formatted mint file to stdin."; + + print!("{}", opts.usage(&brief)); +} + fn main() { let mut threads = 4usize; let mut addr: String = "127.0.0.1:8000".to_string(); @@ -25,6 +34,7 @@ fn main() { opts.optopt("s", "", "server address", "host:port"); opts.optopt("c", "", "client address", "host:port"); opts.optopt("t", "", "number of threads", "4"); + opts.optflag("h", "help", "print help"); let args: Vec = env::args().collect(); let matches = match opts.parse(&args[1..]) { Ok(m) => m, @@ -34,6 +44,11 @@ fn main() { } }; + if matches.opt_present("h") { + let program = args[0].clone(); + print_usage(&program, opts); + return; + } if matches.opt_present("s") { addr = matches.opt_str("s").unwrap(); } diff --git a/src/bin/testnode.rs b/src/bin/testnode.rs index a8587e3ed7..4d692f3f3f 100644 --- a/src/bin/testnode.rs +++ b/src/bin/testnode.rs @@ -15,11 +15,21 @@ use std::process::exit; use std::sync::atomic::AtomicBool; use std::sync::{Arc, Mutex}; +fn print_usage(program: &str, opts: Options) { + let mut brief = format!("Usage: cat | {} [options]\n\n", program); + brief += " Run a Solana node to handle transactions and\n"; + brief += " write a new transaction log to stdout.\n"; + brief += " Takes existing transaction log from stdin."; + + print!("{}", opts.usage(&brief)); +} + fn main() { env_logger::init().unwrap(); let mut port = 8000u16; let mut opts = Options::new(); opts.optopt("p", "", "port", "port"); + opts.optflag("h", "help", "print help"); let args: Vec = env::args().collect(); let matches = match opts.parse(&args[1..]) { Ok(m) => m, @@ -28,6 +38,11 @@ fn main() { exit(1); } }; + if matches.opt_present("h") { + let program = args[0].clone(); + print_usage(&program, opts); + return; + } if matches.opt_present("p") { port = matches.opt_str("p").unwrap().parse().expect("port"); }