github.com/Team-Kujira/tendermint@v0.34.24-indexer/spec/abci/README.md (about) 1 --- 2 order: 1 3 parent: 4 title: ABCI 5 order: 2 6 --- 7 8 # ABCI 9 10 ABCI stands for "**A**pplication **B**lock**c**hain **I**nterface". 11 ABCI is the interface between Tendermint (a state-machine replication engine) 12 and your application (the actual state machine). It consists of a set of 13 _methods_, each with a corresponding `Request` and `Response`message type. 14 To perform state-machine replication, Tendermint calls the ABCI methods on the 15 ABCI application by sending the `Request*` messages and receiving the `Response*` messages in return. 16 17 All ABCI messages and methods are defined in [protocol buffers](https://github.com/tendermint/tendermint/blob/v0.34.x/proto/abci/types.proto). 18 This allows Tendermint to run with applications written in many programming languages. 19 20 This specification is split as follows: 21 22 - [Methods and Types](./abci.md) - complete details on all ABCI methods and 23 message types 24 - [Applications](./apps.md) - how to manage ABCI application state and other 25 details about building ABCI applications 26 - [Client and Server](./client-server.md) - for those looking to implement their 27 own ABCI application servers