[][src]Crate abci

Tendermint ABCI library for Rust

This library provides an application Trait and TCP server for implementing Tendemint ABCI application in Rust. The Application Trait provides default implementations for each callback to simplify development.

Example

Here's a simple example that communicates with Tendermint. Defaults callbacks are handled by the Trait. The app doesn't do any actual processing on a transaction.

struct EmptyApp;

impl abci::Application for EmptyApp {}

fn run_empty_app() {
    abci::run_local(EmptyApp);
}

Structs

BlockID
BlockParams
ConsensusParams
Event
Evidence
EvidenceParams
Header
LastCommitInfo
Pair

Generated files are compatible only with the same version of protobuf runtime.

PartSetHeader
Proof
ProofOp

Generated files are compatible only with the same version of protobuf runtime.

PubKey
Request

Generated files are compatible only with the same version of protobuf runtime.

RequestBeginBlock
RequestCheckTx
RequestCommit
RequestDeliverTx
RequestEcho
RequestEndBlock
RequestFlush
RequestInfo
RequestInitChain
RequestQuery
RequestSetOption
Response
ResponseBeginBlock
ResponseCheckTx
ResponseCommit
ResponseDeliverTx
ResponseEcho
ResponseEndBlock
ResponseException
ResponseFlush
ResponseInfo
ResponseInitChain
ResponseQuery
ResponseSetOption
Validator
ValidatorParams
ValidatorUpdate
Version
VoteInfo

Enums

CheckTxType
Request_oneof_value
Response_oneof_value

Traits

Application

Main Trait for an ABCI application. Provides generic responses for all callbacks Override desired callbacks as needed. Tendermint makes 3 TCP connections to the application and does so in a synchonized manner.

Functions

run

Setup the application and start the server. Use this fn when setting different ip:port.

run_local

Setup the app and start the server using localhost and default tendermint port 26658