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.