ethexe-rpc 2.0.0

JSON-RPC server and client APIs for ethexe
docs.rs failed to build ethexe-rpc-2.0.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

Vara.eth RPC client and server APIs.

The crate provide both client and server APIs for the Vara.eth node.

Crate modules

The crate has the following structure:

  • apis - provides the RPC available APIs
    • block - Ethereum blocks API
    • code - WASM codes API
    • injected - API for communication with node via [ethexe_common::injected::InjectedTransaction]
    • program - WASM programs API (state, queue, mailbox, reply calculations)
    • dev - the development API (available only in development builds)
  • errors - provides helpers function for building the [jsonrpsee::types::ErrorObject]
  • metrics - provides metrics for the RPC server

Design notes

By design the RPC server has no write access to the node database. So it must be just a read-only proxy for the external users.

Features

The following features are available:

  • client - enables the client APIs generate from [jsonrpsee::proc_macros::rpc] macro.
  • server - enables the RPC server implementation.

RPC server configuration details

The RPC server is configured from [RpcConfig]. It provides the following configuration:

  • [RpcConfig::listen_addr] - the address of RPC server running on
  • [RpcConfig::cors] - the list of allowed CORS origins
  • [RpcConfig::gas_allowance] - the gas allowance for program reply calculation
  • [RpcConfig::chunk_size] - the amount of queue processing threads in message reply calculation.
  • [RpcConfig::with_dev_api] - flag to enable the development API (available only in development builds)