proto/

directory
v34.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2024 License: Apache-2.0

README

CometBFT v0.34.x Protocol Buffers Definitions

This is the set of Protobuf definitions of types used by various parts of CometBFT:

  • The Application Blockchain Interface (ABCI), especially in the context of remote applications.
  • The P2P layer, in how CometBFT nodes interact with each other over the network.
  • In interaction with remote signers ("privval").
  • The RPC, in that the native JSON serialization of certain Protobuf types is used when accepting and responding to RPC requests.
  • The storage layer, in how data is serialized to and deserialized from on-disk storage.

The canonical Protobuf definitions live in the proto folder of the relevant release branch of CometBFT. These definitions are published to the Buf registry for integrators' convenience.

Why does CometBFT use tendermint Protobuf definitions?

This is as a result of CometBFT being a fork of Tendermint Core and wanting to provide integrators with as painless a way as possible of transitioning from Tendermint Core to CometBFT.

As of CometBFT v1, however, the project will transition to using and providing a cometbft package of Protobuf definitions (see #1330).

How are tendermint Protobuf definitions versioned?

At present, the canonical source of Protobuf definitions for all CometBFT v0.x releases is on each respective release branch. Each respective release's Protobuf definitions are also, for convenience, published to a corresponding branch in the tendermint/tendermint Buf repository.

CometBFT version Canonical Protobufs Buf registry
v0.38.x v0.38.x Protobuf definitions Buf repository v0.38.x branch
v0.37.x v0.37.x Protobuf definitions Buf repository v0.37.x branch
v0.34.x v0.34.x Protobuf definitions Buf repository v0.34.x branch

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL