- ---
- cards: true
- ---
-
- # ABCI
-
- ABCI is the interface between Tendermint (a state-machine replication engine)
- and your application (the actual state machine). It consists of a set of
- _methods_, where each method has a corresponding `Request` and `Response`
- message type. Tendermint calls the ABCI methods on the ABCI application by sending the `Request*`
- messages and receiving the `Response*` messages in return.
-
- All message types are defined in a [protobuf file](https://github.com/tendermint/tendermint/blob/master/abci/types/types.proto).
- This allows Tendermint to run applications written in any programming language.
-
- This specification is split as follows:
-
- - [Methods and Types](./abci.md) - complete details on all ABCI methods and
- message types
- - [Applications](./apps.md) - how to manage ABCI application state and other
- details about building ABCI applications
- - [Client and Server](./client-server.md) - for those looking to implement their
- own ABCI application servers
|