mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-08 14:21:14 +00:00
* Revert "update protos (#8515)"
This reverts commit f094fd204a.
It appears that #8515 may have been generated with an out-of-date version of
either buf or the gogo plugin. using the latest versions (buf 1.4.0 and gogo
1.3.2) reverts those changes.
* Add a script to re-generate protos with the latest tools.
This script is just a wrapper for the Make rule, but it runs the build inside a
container with the latest versions of buf and gogo installed. This reduces the
chance that an out-of-date ambient installation on a developer machine will get
us outdated output.
Protocol Buffers
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.
More descriptions of the data structures are located in the spec directory as follows:
Process to generate protos
The .proto files within this section are core to the protocol and updates must be treated as such.
Steps
- Make an issue with the proposed change.
- Within the issue members, from the Tendermint team will leave comments. If there is not consensus on the change an RFC may be requested. 1a. Submission of an RFC as a pull request should be made to facilitate further discussion. 1b. Merge the RFC.
- Make the necessary changes to the
.protofile(s), core data structures and/or ABCI protocol. - Rebuild the Go protocol buffers by running
make proto-gen. Ensure that the project builds correctly by runningmake build.