Trait Launcher

Source
pub trait Launcher<C, Ext>
where C: ChainSpecParser, Ext: Args + Debug,
{ // Required method fn entrypoint( self, builder: WithLaunchContext<NodeBuilder<Arc<DatabaseEnv>, C::ChainSpec>>, builder_args: Ext, ) -> impl Future<Output = Result<()>>; }
Expand description

A trait for launching a reth node with custom configuration strategies.

This trait allows defining node configuration through various object types rather than just functions. By implementing this trait on your own structures, you can:

  • Create flexible configurations that connect necessary components without creating separate closures
  • Take advantage of decomposition to break complex configurations into a series of methods
  • Encapsulate configuration logic in dedicated types with their own state and behavior
  • Reuse configuration patterns across different parts of your application

Required Methods§

Source

fn entrypoint( self, builder: WithLaunchContext<NodeBuilder<Arc<DatabaseEnv>, C::ChainSpec>>, builder_args: Ext, ) -> impl Future<Output = Result<()>>

Entry point for launching a node with custom configuration.

Consumes self to use pre-configured state, takes a builder and arguments, and returns an async future.

§Arguments
  • builder - Node builder with launch context
  • builder_args - Extension arguments for configuration

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<C, Ext, F, Fut> Launcher<C, Ext> for FnLauncher<F, Fut>
where C: ChainSpecParser, Ext: Args + Debug, F: FnOnce(WithLaunchContext<NodeBuilder<Arc<DatabaseEnv>, C::ChainSpec>>, Ext) -> Fut, Fut: Future<Output = Result<()>>,