ABCI 2.0

Introduction

ABCI 2.0 is a major evolution of ABCI (Application Blockchain Interface). ABCI is the interface between CometBFT (a state-machine replication engine) and the actual state machine being replicated (i.e., the Application). The API consists of a set of methods, each with a corresponding Request and Response message type.

Note: ABCI 2.0 is colloquially called ABCI++. To be precise in these documents, we will refer to the exact version of ABCI under discussion, currently 2.0.

The methods are always initiated by CometBFT. The Application implements its logic for handling all ABCI methods. Thus, CometBFT always sends the *Request messages and receives the *Response messages in return.

All ABCI messages and methods are defined in protocol buffers. This allows CometBFT to run with applications written in many programming languages.

This specification is split as follows:

Decorative Orb