Trait NodeAddOns

pub trait NodeAddOns<N>: Send{
    type Handle: Send + Sync + Clone;

    // Required method
    fn launch_add_ons(
        self,
        ctx: AddOnsContext<'_, N>,
    ) -> impl Future<Output = Result<Self::Handle, Report>> + Send;
}
Available on crate feature node-api only.
Expand description

Customizable node add-on types.

Required Associated Types§

type Handle: Send + Sync + Clone

Handle to add-ons.

Required Methods§

fn launch_add_ons( self, ctx: AddOnsContext<'_, N>, ) -> impl Future<Output = Result<Self::Handle, Report>> + Send

Configures and launches the add-ons.

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.

Implementations on Foreign Types§

§

impl<N> NodeAddOns<N> for ()

§

type Handle = ()

§

async fn launch_add_ons( self, _components: AddOnsContext<'_, N>, ) -> Result<<() as NodeAddOns<N>>::Handle, Report>

Source§

impl<N, EthB, EV, EB> NodeAddOns<N> for RpcAddOns<N, EthB, EV, EB>

Source§

type Handle = RpcHandle<N, <EthB as EthApiBuilder<N>>::EthApi>

Source§

async fn launch_add_ons( self, ctx: AddOnsContext<'_, N>, ) -> Result<<RpcAddOns<N, EthB, EV, EB> as NodeAddOns<N>>::Handle, Report>

Implementors§

§

impl<N> NodeAddOns<N> for EthereumAddOns<N>

impl<N> NodeAddOns<N> for OpAddOns<N>
where N: FullNodeComponents<Types: NodeTypesWithEngine<ChainSpec = OpChainSpec, Primitives = OpPrimitives, Storage = OpStorage, Engine = OpEngineTypes>, Evm: ConfigureEvm<NextBlockEnvCtx = OpNextBlockEnvAttributes>>, OpEthApiError: FromEvmError<N::Evm>, <N::Pool as TransactionPool>::Transaction: OpPooledTx, EvmFactoryFor<N::Evm>: EvmFactory<Tx = OpTransaction<TxEnv>>,