github.com/vipernet-xyz/tm@v0.34.24/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/vipernet-xyz/tm/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