Blockchains are systems for multi-master state machine replication. ABCI is an interface that defines the boundary between the replication engine (the blockchain), and the state machine (the application). Using a socket protocol, a consensus engine running in one process can manage an application state running in another.
Previously, the ABCI was referred to as TMSP.
To get up and running quickly, see the getting started guide along with the abci-cli documentation which will go through the examples found in the examples directory.
A detailed description of the ABCI methods and message types is contained in:
To compile the protobuf file, run (from the root of the repo):
make protoc_abci
See protoc --help
and the Protocol Buffers site
for details on compiling for other languages. Note we also include a GRPC
service definition.