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§
Sourcefn entrypoint(
self,
builder: WithLaunchContext<NodeBuilder<Arc<DatabaseEnv>, C::ChainSpec>>,
builder_args: Ext,
) -> impl Future<Output = Result<()>>
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 contextbuilder_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.