reth::rpc::api

Trait Web3ApiServer

Source
pub trait Web3ApiServer:
    Sized
    + Send
    + Sync
    + 'static {
    // Required methods
    fn client_version<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<String, ErrorObject<'static>>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
    fn sha3(&self, input: Bytes) -> Result<FixedBytes<32>, ErrorObject<'static>>;

    // Provided method
    fn into_rpc(self) -> RpcModule<Self> { ... }
}
Expand description

Server trait implementation for the Web3Api RPC API.

Required Methods§

Source

fn client_version<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<String, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Returns current client version.

Source

fn sha3(&self, input: Bytes) -> Result<FixedBytes<32>, ErrorObject<'static>>

Returns sha3 of the given data.

Provided Methods§

Source

fn into_rpc(self) -> RpcModule<Self>

Collects all the methods and subscriptions defined in the trait and adds them into a single RpcModule.

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§

Source§

impl<N> Web3ApiServer for Web3Api<N>
where N: NetworkInfo + 'static,

Source§

fn client_version<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<String, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, Web3Api<N>: 'async_trait,

Handler for web3_clientVersion

Source§

fn sha3(&self, input: Bytes) -> Result<FixedBytes<32>, ErrorObject<'static>>

Handler for web3_sha3

Implementors§