Documentation
Complete documentation can be found on the website.
Security
Please see SECURITY.md.
Minimum requirements
CometBFT version | Requirement | Version | Tested with |
---|---|---|---|
main | Go version | 1.22 or higher | 1.22 |
v1.x | Go version | 1.22 or higher | 1.22 |
v0.38.x | Go version | 1.21 or higher | 1.22 |
v0.37.x | Go version | 1.20 or higher | 1.22 |
v0.34.x | Go version | 1.20 or higher | 1.20 |
Install
See the install guide.
Quick Start
Versioning
As of v1, CometBFT uses the following approach to versioning:
- Major version bumps, such as v1.0.0 to v2.0.0, would generally involve changes that force users to perform a coordinated upgrade in order to use the new version, such as protocol-breaking changes (e.g. changes to how block hashes are computed and thus what the network considers to be “valid blocks”, or how the consensus protocol works, or changes that affect network-level compatibility between nodes, etc.).
- Minor version bumps, such as v1.1.0 to v1.2.0, are reserved for rolling out new features or substantial changes that do not force a coordinated upgrade (i.e. not protocol-breaking), but could potentially break Go APIs.
- Patch version bumps, such as v1.0.0 to v1.0.1, are reserved for bug/security fixes that are not protocol- or Go API-breaking.
Upgrades
We do not guarantee compatibility between major releases of CometBFT. Minor releases of the same major release series (v1.1, v1.2, etc.) should, unless otherwise specified, be compatible with each other. Patch releases of the same minor release series (v1.0.1, v1.0.2, etc.) are guaranteed to be compatible with each other.
For more detailed information on upgrading from one version to another, see UPGRADING.md.
Resources
Libraries
- Cosmos SDK: A framework for building high-value public blockchain applications in Go
- Tendermint in Rust
- ABCI Tower
Applications
Research
Below are links to the original Tendermint consensus algorithm and relevant whitepapers, which CometBFT will continue to build on.