In my mind this is "don't make grpc any weirder than it has to be." We definitely don't need to export this type: if you're using gRPC for ABCI you *probably* don't want to also depend on the huge swath of the code that The ideal case is you generate the proto yourself, standup a gRPC service on your own (presumably because your application has other gRPC services that you want to expose,) and then your application doesn't need to interact with the types package at all. This is definitely the case for anyone who uses gRPC and doesn't use Go (which is likely the predominant use case.) If you're using Go, and want to use tendermint's service runner for running your gRPC service, you can, but at this point (as before,) you're already importing the `types` package (and you were before,) I've just eliminated an intermediate type that you shouldn't need to think about. Reviewers: I think the change is pretty rote, but the logic/user-story above would definitely be better for being validated by someone other than me. :)
Application BlockChain Interface (ABCI)
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.
The community has provided a number of additional implementations, see the Tendermint Ecosystem
Installation & Usage
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.
Specification
A detailed description of the ABCI methods and message types is contained in:
Protocol Buffers
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.