mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-15 19:02:42 +00:00
* upgrade clap to v4.5 * cli fixes * Merge branch 'unstable' of https://github.com/sigp/lighthouse into upgrade-clap-cli * value parser for mnemonic * Merge branch 'unstable' of https://github.com/sigp/lighthouse into upgrade-clap-cli * merge unstable * default --format val * fix eth sim * fix eth sim * merge conflicts * resolve beta compiler issue * add num args, version * add custom flag parser, make rate limiter flags clap friendly * remove unneeded check * fmt * update * alphabetic order * resolve merge conflict * fix test * resolve conflicts * fix test * revert removed if statement * fmt got me again * fix broken flag * make cli * make cli * update * remove -e files * update * cli help updates * Merge branch 'unstable' of https://github.com/sigp/lighthouse into upgrade-clap-cli * cli help updates * md files * merge conflict * merge conflicts * md * help text, text width, and a few flag fixes * fmt * merge * revert * revert * resolve merge conflicts * merge conflicts * revert simulator changes * require at least one arg * fix eth sim cli * resolve merge conflicts * book changes * md changes * cli check * cli check * retry cli check * retry cli check * Merge branch 'unstable' of https://github.com/sigp/lighthouse into upgrade-clap-cli * cli * Merge remote-tracking branch 'origin/unstable' into upgrade-clap-cli * Update CLI docs for Goerli removal * Fix cargo lock
56 lines
1.8 KiB
Rust
56 lines
1.8 KiB
Rust
//! This crate provides various simulations that create both beacon nodes and validator clients,
|
|
//! each with `v` validators.
|
|
//!
|
|
//! When a simulation runs, there are checks made to ensure that all components are operating
|
|
//! as expected. If any of these checks fail, the simulation will exit immediately.
|
|
//!
|
|
//! ## Future works
|
|
//!
|
|
//! Presently all the beacon nodes and validator clients all log to stdout. Additionally, the
|
|
//! simulation uses `println` to communicate some info. It might be nice if the nodes logged to
|
|
//! easy-to-find files and stdout only contained info from the simulation.
|
|
//!
|
|
|
|
extern crate clap;
|
|
|
|
mod basic_sim;
|
|
mod checks;
|
|
mod cli;
|
|
mod fallback_sim;
|
|
mod local_network;
|
|
mod retry;
|
|
|
|
use cli::cli_app;
|
|
use env_logger::{Builder, Env};
|
|
use local_network::LocalNetwork;
|
|
use types::MinimalEthSpec;
|
|
|
|
pub type E = MinimalEthSpec;
|
|
|
|
fn main() {
|
|
// Debugging output for libp2p and external crates.
|
|
Builder::from_env(Env::default()).init();
|
|
|
|
let matches = cli_app().get_matches();
|
|
match matches.subcommand() {
|
|
Some(("basic-sim", matches)) => match basic_sim::run_basic_sim(matches) {
|
|
Ok(()) => println!("Simulation exited successfully"),
|
|
Err(e) => {
|
|
eprintln!("Simulation exited with error: {}", e);
|
|
std::process::exit(1)
|
|
}
|
|
},
|
|
Some(("fallback-sim", matches)) => match fallback_sim::run_fallback_sim(matches) {
|
|
Ok(()) => println!("Simulation exited successfully"),
|
|
Err(e) => {
|
|
eprintln!("Simulation exited with error: {}", e);
|
|
std::process::exit(1)
|
|
}
|
|
},
|
|
_ => {
|
|
eprintln!("Invalid subcommand. Use --help to see available options");
|
|
std::process::exit(1)
|
|
}
|
|
}
|
|
}
|