github.com/KYVENetwork/cometbft/v38@v38.0.3/proto/README.md (about)

     1  <!-- NB: Ensure that all hyperlinks in this doc are absolute URLs, not relative
     2  ones, as this doc gets published to the Buf registry and relative URLs will fail
     3  to resolve. -->
     4  # CometBFT v0.38.x Protocol Buffers Definitions
     5  
     6  This is the set of [Protobuf][protobuf] definitions of types used by various
     7  parts of [CometBFT]:
     8  
     9  - The [Application Blockchain Interface][abci] (ABCI), especially in the context
    10    of _remote_ applications.
    11  - The P2P layer, in how CometBFT nodes interact with each other over the
    12    network.
    13  - In interaction with remote signers ("privval").
    14  - The RPC, in that the native JSON serialization of certain Protobuf types is
    15    used when accepting and responding to RPC requests.
    16  - The storage layer, in how data is serialized to and deserialized from on-disk
    17    storage.
    18  
    19  The canonical Protobuf definitions live in the `proto` folder of the relevant
    20  release branch of CometBFT. These definitions are published to the [Buf
    21  registry][buf] for integrators' convenience.
    22  
    23  ## Why does CometBFT use `tendermint` Protobuf definitions?
    24  
    25  This is as a result of CometBFT being a fork of [Tendermint Core][tmcore] and
    26  wanting to provide integrators with as painless a way as possible of
    27  transitioning from Tendermint Core to CometBFT.
    28  
    29  As of CometBFT v1, however, the project will transition to using and providing a
    30  `cometbft` package of Protobuf definitions (see [\#1330]).
    31  
    32  ## How are `tendermint` Protobuf definitions versioned?
    33  
    34  At present, the canonical source of Protobuf definitions for all CometBFT v0.x
    35  releases is on each respective release branch. Each respective release's
    36  Protobuf definitions are also, for convenience, published to a corresponding
    37  branch in the `tendermint/tendermint` Buf repository.
    38  
    39  | CometBFT version | Canonical Protobufs                         | Buf registry                              |
    40  |------------------|---------------------------------------------|-------------------------------------------|
    41  | v0.38.x          | [v0.38.x Protobuf definitions][v038-protos] | [Buf repository v0.38.x branch][v038-buf] |
    42  | v0.37.x          | [v0.37.x Protobuf definitions][v037-protos] | [Buf repository v0.37.x branch][v037-buf] |
    43  | v0.34.x          | [v0.34.x Protobuf definitions][v034-protos] | [Buf repository v0.34.x branch][v034-buf] |
    44  
    45  [protobuf]: https://protobuf.dev/
    46  [CometBFT]: https://github.com/cometbft/cometbft
    47  [abci]: https://github.com/KYVENetwork/cometbft/v38/tree/main/spec/abci
    48  [buf]: https://buf.build/tendermint/tendermint
    49  [tmcore]: https://github.com/tendermint/tendermint
    50  [\#1330]: https://github.com/KYVENetwork/cometbft/v38/issues/1330
    51  [v034-protos]: https://github.com/KYVENetwork/cometbft/v38/tree/v0.34.x/proto
    52  [v034-buf]: https://buf.build/tendermint/tendermint/docs/v0.34.x
    53  [v037-protos]: https://github.com/KYVENetwork/cometbft/v38/tree/v0.37.x/proto
    54  [v037-buf]: https://buf.build/tendermint/tendermint/docs/v0.37.x
    55  [v038-protos]: https://github.com/KYVENetwork/cometbft/v38/tree/v0.38.x/proto
    56  [v038-buf]: https://buf.build/tendermint/tendermint/docs/v0.38.x