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.
 
 
 
 
 
 
Marko b315f04980
proto: modify height int64 to uint64 (#253)
4 years ago
..
abci proto: modify height int64 to uint64 (#253) 4 years ago
blockchain proto: modify height int64 to uint64 (#253) 4 years ago
consensus proto: modify height int64 to uint64 (#253) 4 years ago
mempool proto: add files (#246) 4 years ago
p2p proto: modify height int64 to uint64 (#253) 4 years ago
statesync proto: add files (#246) 4 years ago
types proto: modify height int64 to uint64 (#253) 4 years ago
README.md proto: add files (#246) 4 years ago

README.md

Protocol Buffers

This sections defines the types and messages shared across implementations. The definition of the data structures are located in the core/data_structures for the core data types and ABCI definitions are located in the ABCI section.

Process of Updates

The .proto files within this section are core to the protocol and updates must be treated as such.

Steps

  1. Make an issue with the proposed change.
    • Within in the issue members from both the Tendermint-go and Tendermint-rs 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.
  2. Make the necessary changes to the .proto file(s), core data structures and/or ABCI protocol.
  3. Open issues within Tendermint-go and Tendermint-rs repos. This is used to notify the teams that a change occurred in the spec.
    1. Tag the issue with a spec version label. This will notify the team the changed has been made on master but has not entered a release.

Versioning

The spec repo aims to be versioned. Once it has been versioned, updates to the protobuf files will live on master. After a certain amount of time, decided on by Tendermint-go and Tendermint-rs team leads, a release will be made on the spec repo. The spec may contain minor releases as well, depending on the implementation these changes may lead to a breaking change. If so, the implementation team should open an issue within the spec repo requiring a major release of the spec.

If the steps above were followed each implementation should have issues tagged with a spec change label. Once all issues have been completed the team should signify their readiness for release.