- Notifications
You must be signed in to change notification settings - Fork2
⟁ Tendermint Core (BFT Consensus) in Go
License
osmosis-labs/tendermint
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Byzantine-Fault TolerantState Machine Replication.OrBlockchain, for short.
Branch | Tests | Coverage | Linting |
---|---|---|---|
master |
Tendermint Core is a Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine - written in any programming language - and securely replicates it on many machines.
For protocol details, refer to theTendermint Specification.
For detailed analysis of the consensus protocol, including safety and liveness proofs,read our paper, "The latest gossip on BFT consensus".
Complete documentation can be found on thewebsite.
Please do not depend on master as your production branch. Usereleases instead.
Tendermint has been in the production of private and public environments, most notably the blockchains of the Cosmos Network. we haven't released v1.0 yet since we are making breaking changes to the protocol and the APIs.See below for more details aboutversioning.
In any case, if you intend to run Tendermint in production, we're happy to help. You cancontact usover email orjoin the chat.
More on how releases are conducted can be foundhere.
To report a security vulnerability, see ourbug bountyprogram.For examples of the kinds of bugs we're looking for, seeour security policy.
We also maintain a dedicated mailing list for security updates. We will only ever use this mailing listto notify you of vulnerabilities and fixes in Tendermint Core. You can subscribehere.
Requirement | Notes |
---|---|
Go version | Go1.17 or higher |
See theinstall instructions.
Please abide by theCode of Conduct in all interactions.
Before contributing to the project, please take a look at thecontributing guidelinesand thestyle guide. You may also find it helpful to read thespecifications,and familiarize yourself with ourArchitectural Decision Records (ADRs) andRequest For Comments (RFCs).
Tendermint usesSemantic Versioning to determine when and how the version changes.According to SemVer, anything in the public API can change at any time before version 1.0.0
To provide some stability to users of 0.X.X versions of Tendermint, the MINOR version is usedto signal breaking changes across Tendermint's API. This API includes allpublicly exposed types, functions, and methods in non-internal Go packages as well asthe types and methods accessible via the Tendermint RPC interface.
Breaking changes to these public APIs will be documented in the CHANGELOG.
In an effort to avoid accumulating technical debt prior to 1.0.0,we do not guarantee that breaking changes (ie. bumps in the MINOR version)will work with existing Tendermint blockchains. In these cases you willhave to start a new blockchain, or write something custom to get the olddata into the new chain. However, any bump in the PATCH version should becompatible with existing blockchain histories.
For more information on upgrading, seeUPGRADING.md.
Because we are a small core team, we only ship patch updates, including security updates,to the most recent minor release and the second-most recent minor release. Consequently,we strongly recommend keeping Tendermint up-to-date. Upgrading instructions can be foundinUPGRADING.md.
We keep a public up-to-date version of our roadmaphere
- Cosmos SDK; A framework for building applications in Golang
- Tendermint in Rust
- ABCI Tower
- The latest gossip on BFT consensus
- Master's Thesis on Tendermint
- Original Whitepaper: "Tendermint: Consensus Without Mining"
- Tendermint Core Blog
- Cosmos Blog
Tendermint Core is maintained byInterchain GmbH.If you'd like to work full-time on Tendermint Core,we're hiring!
Funding for Tendermint Core development comes primarily from theInterchain Foundation,a Swiss non-profit. The Tendermint trademark is owned byTendermint Inc., the for-profit entitythat also maintainstendermint.com.
About
⟁ Tendermint Core (BFT Consensus) in Go
Resources
License
Code of conduct
Security policy
Stars
Watchers
Forks
Packages0
Languages
- Go85.3%
- TeX7.1%
- TLA5.8%
- Shell0.6%
- Python0.5%
- Makefile0.3%
- Other0.4%