Crate tendermint_rpc[][src]

Tendermint RPC definitions and types.

Client

This crate optionally provides access to different types of RPC client functionality and different client transports based on which features you select when using it.

Several client-related features are provided at present:

  • http-client - Provides HttpClient, which is a basic RPC client that interacts with remote Tendermint nodes via JSON-RPC over HTTP or HTTPS. This client does not provide event::Event subscription functionality. See the Tendermint RPC for more details.
  • websocket-client - Provides WebSocketClient, which provides full client functionality, including general RPC functionality as well as event::Event subscription functionality. Can be used over secure (wss://) and unsecure (ws://) connections.

Mock Clients

Mock clients are included when either of the http-client or websocket-client features are enabled to aid in testing. This includes MockClient, which implements both Client and SubscriptionClient traits.

Re-exports

pub use error::Error;
pub use request::Request;
pub use request::SimpleRequest;
pub use response::Response;

Modules

endpoint

Tendermint JSON-RPC endpoints

error

JSON-RPC error types

event

RPC subscription event-related data structures.

query

Structured querying for the Tendermint RPC event subscription system.

request

JSON-RPC requests

response

JSON-RPC response types

Structs

HttpClient

A JSON-RPC/HTTP Tendermint RPC client (implements crate::Client).

HttpClientUrl

A URL limited to use with HTTP clients.

MockClient

A mock client implementation for use in testing.

MockRequestMethodMatcher

Provides a simple MockRequestMatcher implementation that simply maps requests with specific methods to responses.

PageNumber

A page number in paginated RPC responses.

PerPage

The number of items to return per page, for paginated RPC responses.

Subscription

An interface that can be used to asynchronously receive Events for a particular subscription.

Url

A uniform resource locator (URL), with support for only those schemes/protocols supported by Tendermint RPC clients.

Version

JSON-RPC version

WebSocketClient

Tendermint RPC client that provides access to all RPC functionality (including Event subscription) over a WebSocket connection.

WebSocketClientDriver

Drives the WebSocket connection for a WebSocketClient instance.

WebSocketClientUrl

A URL limited to use with WebSocket clients.

Enums

Id

JSON-RPC ID: request-specific identifier

Method

JSON-RPC request methods.

Order

Ordering of paginated RPC responses.

Paging

Pagination control for those RPC client methods supporting pagination.

Scheme

The various schemes supported by Tendermint RPC clients.

Traits

Client

Provides lightweight access to the Tendermint RPC. It gives access to all endpoints with the exception of the event subscription-related ones.

MockRequestMatcher

A trait required by the MockClient that allows for different approaches to mocking responses for specific requests.

SubscriptionClient

A client that exclusively provides Event subscription capabilities, without any other RPC method support.

Type Definitions

Result

RPC client-related result type alias.