You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

21 lines
1.2 KiB

  1. # Protocol Buffers
  2. This sections defines the protocol buffers used in Tendermint. This is split into two directories: `spec`, the types required for all implementations and `tendermint`, a set of types internal to the Go implementation. All generated go code is also stored in `tendermint`.
  3. More descriptions of the data structures are located in the spec directory as follows:
  4. - [Block](../spec/core/data_structures.md)
  5. - [ABCI](../spec/abci/README.md)
  6. - [P2P](../spec/p2p/messages/README.md)
  7. ## Process to generate protos
  8. The `.proto` files within this section are core to the protocol and updates must be treated as such.
  9. ### Steps
  10. 1. Make an issue with the proposed change.
  11. - Within the issue members, from the Tendermint team will leave comments. If there is not consensus on the change an [RFC](../rfc/README.md) may be requested.
  12. 1a. Submission of an RFC as a pull request should be made to facilitate further discussion.
  13. 1b. Merge the RFC.
  14. 2. Make the necessary changes to the `.proto` file(s), [core data structures](../spec/core/data_structures.md) and/or [ABCI protocol](../spec/abci/apps.md).
  15. 3. Rebuild the Go protocol buffers by running `make proto-gen`. Ensure that the project builds correctly by running `make build`.