mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-05 13:05:09 +00:00
* Ignore generated/copied RPC docs Signed-off-by: Thane Thomson <connect@thanethomson.com> * Sync vuepress config with main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Sync docs package-lock.json with main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Sync docs redirects with main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Sync docs versions with main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update OpenAPI version to v0.34 Signed-off-by: Thane Thomson <connect@thanethomson.com> * Sync DOCS_README with main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update all v0.34.x docs references from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update v0.34 OpenAPI references from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update repo doc links from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update code comment references from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update repo root doc links from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update repo root doc links for docs.tendermint.com from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Build v0.34.x as "latest" Signed-off-by: Thane Thomson <connect@thanethomson.com> * Explicitly mark v0.34 docs as latest in version selector Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add nav link to main and clearly mark as unstable Signed-off-by: Thane Thomson <connect@thanethomson.com> * Direct all docs.tendermint.com links to v0.34 on v0.34.x Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update all relevant links on v0.34.x branch to be v0.34-specific Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update changelog refs to docs.tendermint.com Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update remaining GH master link to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Sync docs build and nav config with main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Migrate spec links to GitHub repo from docs site Signed-off-by: Thane Thomson <connect@thanethomson.com> Signed-off-by: Thane Thomson <connect@thanethomson.com>
28 lines
1.1 KiB
Markdown
28 lines
1.1 KiB
Markdown
---
|
|
order: 1
|
|
parent:
|
|
title: ABCI
|
|
order: 2
|
|
---
|
|
|
|
# ABCI
|
|
|
|
ABCI stands for "**A**pplication **B**lock**c**hain **I**nterface".
|
|
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_, each with a corresponding `Request` and `Response`message type.
|
|
To perform state-machine replication, Tendermint calls the ABCI methods on the
|
|
ABCI application by sending the `Request*` messages and receiving the `Response*` messages in return.
|
|
|
|
All ABCI messages and methods are defined in [protocol buffers](https://github.com/tendermint/tendermint/blob/v0.34.x/proto/abci/types.proto).
|
|
This allows Tendermint to run with applications written in many programming languages.
|
|
|
|
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
|