Crate tendermint_rpc
source ·Expand description
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
- ProvidesHttpClient
, which is a basic RPC client that interacts with remote Tendermint nodes via JSON-RPC over HTTP or HTTPS. This client does not provideevent::Event
subscription functionality. See the Tendermint RPC for more details.websocket-client
- ProvidesWebSocketClient
, which provides full client functionality, including general RPC functionality as well asevent::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;
pub use response_error::Code;
pub use response_error::ResponseError;
Modules
- Tendermint JSON-RPC endpoints
- JSON-RPC error types
- RPC subscription event-related data structures.
- Structured querying for the Tendermint RPC event subscription system.
- JSON-RPC requests
- JSON-RPC response types
- Serde serializers
Structs
- A JSON-RPC/HTTP Tendermint RPC client (implements
crate::Client
). - A URL limited to use with HTTP clients.
- A mock client implementation for use in testing.
- Provides a simple
MockRequestMatcher
implementation that simply maps requests with specific methods to responses. - A page number in paginated RPC responses.
- The number of items to return per page, for paginated RPC responses.
- An interface that can be used to asynchronously receive
Event
s for a particular subscription. - A uniform resource locator (URL), with support for only those schemes/protocols supported by Tendermint RPC clients.
- JSON-RPC version
- Tendermint RPC client that provides access to all RPC functionality (including
Event
subscription) over a WebSocket connection. - Drives the WebSocket connection for a
WebSocketClient
instance. - A URL limited to use with WebSocket clients.
- The configuration for WebSocket connection.
Enums
- JSON-RPC ID: request-specific identifier
- JSON-RPC request methods.
- Ordering of paginated RPC responses.
- Pagination control for those RPC client methods supporting pagination.
- The various schemes supported by Tendermint RPC clients.
Traits
- Provides lightweight access to the Tendermint RPC. It gives access to all endpoints with the exception of the event subscription-related ones.
- A trait required by the
MockClient
that allows for different approaches to mocking responses for specific requests. - A client that exclusively provides
Event
subscription capabilities, without any other RPC method support.