Module Evm_node_lib_dev.Rpc_server

type finalizer = unit -> unit Lwt.t
type block_production = [
  1. | `Single_node
  2. | `Disabled
]

start_private_server ~block_production config ctxt starts the private RPC server with low-level, internal services which should not be exposed to the Internet. If config does not provide the necessary information to start a private RPC server, then start_private_server is a no-op.

block_production is used to tailor the private RPC server to the particular need of the EVM node mode at use, more particularly which methods are available wrt. block production. `Single_node starts the default private RPC server, as used in the single node sequencer setup, `Disabled means no block production method is available.

val start_public_server : is_sequencer:bool -> rpc_server_family:'f Rpc_types.rpc_server_family -> l2_chain_id:Evm_node_lib_dev_encoding.L2_types.chain_id option -> ?delegate_health_check_to:Uri.t -> ?evm_services:evm_services_methods -> ?data_dir:string -> Validate.validation_mode -> Evm_node_config.Configuration.t -> 'f Services_backend_sig.tx_container -> ((module Services_backend_sig.S) * 'a) -> finalizer Tezos_base.TzPervasives.tzresult Lwt.t

start_public_server config ctxt starts the RPC servers as per specified in config.

The optional argument evm_services_methods can be used to install the EVM services.

If data_dir is provided and the host provides the necessary binaries, performance metrics are enabled.