mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-08 06:15:33 +00:00
* abci: use protoio for length delimitation (#5818) Migrate ABCI to use protoio (uint64 length delimiters) instead of int64 length delimiters to be consistent with the approach used in the P2P layer. Closes: #5783 * Import ReadMsg interface change from #5868 Signed-off-by: Thane Thomson <connect@thanethomson.com> * Convert PR number to link in UPGRADING Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update Tendermint Socket Protocol docs to reflect length prefix encoding change Signed-off-by: Thane Thomson <connect@thanethomson.com> * Clarify that length delimiters are varints Signed-off-by: Thane Thomson <connect@thanethomson.com> Signed-off-by: Thane Thomson <connect@thanethomson.com> Co-authored-by: Marko <marbar3778@yahoo.com>
order, parent
| order | parent | ||||
|---|---|---|---|---|---|
| 1 |
|
ABCI
ABCI stands for "Application Blockchain Interface".
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 Responsemessage 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. This allows Tendermint to run with applications written in many programming languages.
This specification is split as follows:
- Methods and Types - complete details on all ABCI methods and message types
- Applications - how to manage ABCI application state and other details about building ABCI applications
- Client and Server - for those looking to implement their own ABCI application servers