reth::rpc::builder

Function launch

Source
pub async fn launch<Provider, Pool, Network, Tasks, Events, EvmConfig, EthApi, BlockExecutor>(
    provider: Provider,
    pool: Pool,
    network: Network,
    module_config: impl Into<TransportRpcModuleConfig>,
    server_config: impl Into<RpcServerConfig>,
    executor: Tasks,
    events: Events,
    evm_config: EvmConfig,
    eth: Box<dyn FnOnce(&EthApiBuilderCtx<Provider, Pool, EvmConfig, Network, Tasks, Events>) -> EthApi>,
    block_executor: BlockExecutor,
    consensus: Arc<dyn FullConsensus<<BlockExecutor as BlockExecutorProvider>::Primitives>>,
    payload_validator: Arc<dyn PayloadValidator<Block = <Provider as BlockReader>::Block>>,
) -> Result<RpcServerHandle, RpcError>
where Provider: FullRpcProvider<Block = <<EthApi as RpcNodeCore>::Provider as BlockReader>::Block, Receipt = <<EthApi as RpcNodeCore>::Provider as ReceiptProvider>::Receipt, Header = <<EthApi as RpcNodeCore>::Provider as HeaderProvider>::Header> + AccountReader + ChangeSetReader, Pool: TransactionPool<Transaction = <<EthApi as RpcNodeCore>::Pool as TransactionPool>::Transaction> + 'static, Network: NetworkInfo + Peers + Clone + 'static, Tasks: TaskSpawner + Clone + 'static, Events: CanonStateSubscriptions<Primitives = <BlockExecutor as BlockExecutorProvider>::Primitives> + Clone + 'static, EvmConfig: ConfigureEvm<Header = <<BlockExecutor as BlockExecutorProvider>::Primitives as NodePrimitives>::BlockHeader, Transaction = <<BlockExecutor as BlockExecutorProvider>::Primitives as NodePrimitives>::SignedTx>, EthApi: FullEthApiServer, <EthApi as RpcNodeCore>::Provider: BlockReader<Block = <<BlockExecutor as BlockExecutorProvider>::Primitives as NodePrimitives>::Block, Receipt = <<BlockExecutor as BlockExecutorProvider>::Primitives as NodePrimitives>::Receipt, Header = <<BlockExecutor as BlockExecutorProvider>::Primitives as NodePrimitives>::BlockHeader>, BlockExecutor: BlockExecutorProvider,
Expand description

Convenience function for starting a server in one step.