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
message type. Tendermint calls the ABCI methods on the ABCI application by sending the
messages and receiving the
Response* messages in return.
All message types are defined in a protobuf file. This allows Tendermint to run applications written in any programming language.
This specification is split as follows: