Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. tendermint

tendermint

Apache-2.0Gov0.34.24

A Byzantine Fault Tolerant (BFT) middleware for securely replicating state machines across many machines.

Visit WebsiteGitHubGitHub
5.9k stars2.1k forks0 contributors

What is tendermint?

Tendermint Core is a Byzantine Fault Tolerant (BFT) consensus engine and blockchain replication layer. It enables developers to build secure, decentralized applications by providing a robust foundation for state machine replication without requiring mining. It acts as middleware that takes a state transition machine written in any programming language and securely replicates it across many machines.

Target Audience

Blockchain developers and teams building decentralized applications (dApps) or custom blockchain networks who need a production-proven, language-agnostic consensus layer. It is particularly suited for projects within the Cosmos ecosystem or those requiring BFT consensus without proof-of-work mining.

Value Proposition

Developers choose Tendermint Core for its production-proven Byzantine Fault Tolerant consensus, which ensures network security even with up to one-third of malicious participants, and its flexibility via the ABCI (Application Blockchain Interface), which allows application logic to be written in any programming language.

Overview

⟁ Tendermint Core (BFT Consensus) in Go

Use Cases

Best For

  • Building custom, application-specific blockchains (appchains) that require high security and deterministic finality.
  • Creating decentralized applications (dApps) within the Cosmos ecosystem that need to interoperate via the Inter-Blockchain Communication (IBC) protocol.
  • Developing blockchain networks that prioritize fast transaction finality over the probabilistic finality of proof-of-work systems.
  • Projects requiring a language-agnostic blockchain backend, allowing application logic to be written in Go, Rust, JavaScript, or any other language via ABCI.
  • Enterprise or consortium blockchains that need a Byzantine Fault Tolerant consensus mechanism for permissioned or private network environments.
  • Research and development in distributed systems, particularly for studying or implementing BFT consensus algorithms and state machine replication.

Not Ideal For

  • Teams needing a stable, version 1.0+ product with guaranteed backward compatibility and long-term support
  • Projects that don't require Byzantine fault tolerance or distributed consensus, such as centralized apps or simple databases
  • Developers wanting a fully integrated blockchain platform with built-in smart contracts and extensive out-of-the-box tooling
  • Applications prioritizing maximum throughput with minimal consensus latency, as BFT can introduce overhead compared to other algorithms

Pros & Cons

Pros

Production-Proven BFT Consensus

Used in major networks like Cosmos Hub and Terra, demonstrating reliability and security in real-world production environments, as highlighted in the README.

Language-Agnostic via ABCI

The Application Blockchain Interface allows state machines to be written in any programming language, providing unmatched flexibility for developers, as stated in the key features.

Efficient Gossip Protocol

Implements a secure peer-to-peer communication protocol based on research, ensuring efficient message propagation and network performance, detailed in the 'The latest gossip on BFT consensus' paper.

Byzantine Fault Tolerance

Ensures consensus even with up to one-third malicious participants, offering strong security guarantees for decentralized applications without mining, as core to its design.

Cons

Pre-1.0 Stability Risks

The project hasn't released v1.0, with breaking changes still possible and only patch updates for recent minor releases, posing risks for long-term production use, as admitted in the versioning section.

Complex ABCI Integration

Requires developers to build and integrate application logic separately via ABCI, adding significant development overhead compared to more turnkey blockchain solutions.

Limited Active Development

The core featureset is frozen for LTS, and the small team focuses on recent releases, which may reduce future innovation and support, as noted in the README update.

Frequently Asked Questions

Quick Stats

Stars5,864
Forks2,102
Contributors0
Open Issues0
Last commit2 days ago
CreatedSince 2014

Tags

#distributed-systems#cryptocurrency#cosmos-sdk#bft#consensus#consistency#cryptography#byzantine-fault-tolerance#go#state-machine-replication#blockchain#p2p#db

Built With

G
Go

Links & Resources

Website

Included in

Go169.1k
Auto-fetched 18 hours ago

Related Projects

go-ethereumgo-ethereum

Go implementation of the Ethereum protocol

Stars51,195
Forks21,998
Last commit1 day ago
kubokubo

An IPFS implementation in Go

Stars17,083
Forks3,161
Last commit1 day ago
lndlnd

Lightning Network Daemon ⚡️

Stars8,163
Forks2,281
Last commit20 hours ago
cosmos-sdkcosmos-sdk

Framework for building performant, customizable blockchains with native interoperability

Stars7,030
Forks4,211
Last commit21 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub