mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-01-30 09:38:24 -05:00
41 lines
1.1 KiB
Rust
41 lines
1.1 KiB
Rust
//! Example for how hook into the node via the CLI extension mechanism without registering
|
||
//! additional arguments
|
||
//!
|
||
//! Run with
|
||
//!
|
||
//! ```not_rust
|
||
//! cargo run -p node-event-hooks -- node
|
||
//! ```
|
||
//!
|
||
//! This launch the regular reth node and also print:
|
||
//! > "All components initialized" – once all components have been initialized
|
||
//! > "Node started" – once the node has been started.
|
||
|
||
use reth::cli::Cli;
|
||
use reth_node_ethereum::EthereumNode;
|
||
|
||
fn main() {
|
||
Cli::parse_args()
|
||
.run(|builder, _| async move {
|
||
let handle = builder
|
||
.node(EthereumNode::default())
|
||
.on_node_started(|_ctx| {
|
||
println!("Node started");
|
||
Ok(())
|
||
})
|
||
.on_rpc_started(|_ctx, _handles| {
|
||
println!("RPC started");
|
||
Ok(())
|
||
})
|
||
.on_component_initialized(|_ctx| {
|
||
println!("All components initialized");
|
||
Ok(())
|
||
})
|
||
.launch()
|
||
.await?;
|
||
|
||
handle.wait_for_node_exit().await
|
||
})
|
||
.unwrap();
|
||
}
|