tendermint/tendermint

Created Jul 5, 2023 · View the tendermint/tendermint repository page

⟁ Tendermint Core (BFT Consensus) in Go

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

249

Lines of Code

41,578

From

Apr 19, 2014

To

Feb 2, 2023

About tendermint/tendermint

Tendermint Core is a Byzantine Fault Tolerant consensus engine written in Go that replicates state machines across multiple machines to create blockchain systems. It provides the middleware layer that takes any state transition machine and securely replicates it in a distributed network, making it suitable for building both public and private blockchains. The project implements detailed consensus protocols with formal safety and liveness proofs documented in academic research.

The software has been battle-tested in production environments, most notably powering the blockchains of the Cosmos Network including Cosmos Hub. The current stable release (0.34.24) is maintained as a long-term support version with its feature set frozen, while development continues on other branches. Tendermint serves as the foundation for multiple blockchain projects including Terra, Celestia, and Anoma, as well as the Cosmos SDK framework for building blockchain applications.

The project is written in Go 1.18 or higher and emphasizes breaking changes transparently through semantic versioning, though it remains pre-1.0 so APIs can still change. The team provides comprehensive documentation, multiple quick-start options including single-node setups and remote cluster deployment tools, and maintains active security reporting channels. The codebase includes extensive architectural decision records and request for comments documentation for understanding design choices.

Share this video