mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-10 15:07:24 +00:00
Many of the Markdown files in this repository fail the Markdown lint check. This change cleans up most of them, either by: - Removing links to targets that no longer exist. - Updating links to targets that have moved. - Disabling the linter for files that need more revision. - Clean up trailing whitespace in files that peeves the super-linter. Fixes #363.
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](../../proto/tendermint/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
|