mirror of
https://github.com/tendermint/tendermint.git
synced 2026-02-04 11:02:06 +00:00
* docs theme * vuepress-theme-cosmos * version bump * changes to docs * more code changes * sidebar order fix * moar changes * fixed dev sessions title * fixed dev sessions title, again * specs should show up in sidebar * contents cards * version bump * sidebar, rpc * version bump * custom footer and super naive search * version * minor change to vuepress * move swagger file * pre and post scripts * build * changed docs build process * added deployment config * updated versions file and added deployment filters
24 lines
987 B
Markdown
24 lines
987 B
Markdown
---
|
|
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
|