https://github.com/dashpay/tenderdash
⟁ Tenderdash Core (SBFT Consensus) in Go
https://github.com/dashpay/tenderdash
Last synced: 6 months ago
JSON representation
⟁ Tenderdash Core (SBFT Consensus) in Go
- Host: GitHub
- URL: https://github.com/dashpay/tenderdash
- Owner: dashpay
- License: other
- Created: 2020-07-29T14:29:43.000Z (almost 6 years ago)
- Default Branch: v1.5-dev
- Last Pushed: 2025-04-29T14:12:47.000Z (about 1 year ago)
- Last Synced: 2025-04-30T06:46:03.192Z (about 1 year ago)
- Language: Go
- Homepage: https://www.dashpay.org
- Size: 122 MB
- Stars: 19
- Watchers: 9
- Forks: 15
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Roadmap: docs/roadmap/README.md
Awesome Lists containing this project
README
# Tenderdash

[Byzantine-Fault Tolerant](https://en.wikipedia.org/wiki/Byzantine_fault_tolerance)
[State Machine Replication](https://en.wikipedia.org/wiki/State_machine_replication).
Or [Blockchain](), for short.
[](https://github.com/dashpay/tenderdash/releases/latest)
[](https://github.com/moovweb/gvm)
[](https://chat.dashdevs.org)
[](https://github.com/dashpay/tenderdash)
| Branch | Tests | Coverage | Linting |
|--------|-------|----------|---------|
| master | [](https://github.com/dashpay/tenderdash/actions/workflows/tests.yml) | [](https://codecov.io/gh/dashpay/tenderdash) | [](https://github.com/dashpay/tenderdash/actions/workflows/lint.yml) |
Tenderdash 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.
## Background
Tenderdash started as a fork of the [Tendermint Core](https://www.github.com/tendermint/tendermint)
project and has been used in public environments such as the Cosmos Network. Although based on
Tendermint, Tenderdash differs from Tendermint through its use of Dash's [long-living masternode
quorums (LLMQs)](https://github.com/dashpay/dips/blob/master/dip-0006.md) to support threshold
signatures, quorum-based voting, and dynamic validator set rotation. These enhancements to support
rapid transaction finality and maintain strong security guarantees make Tenderdash ideal for Dash
Platform’s needs.
For Tendermint protocol details, refer to the [Tendermint Specification](./spec/README.md). For a
detailed analysis of the consensus protocol, including safety and liveness proofs, read the
Tendermint paper, "[The latest gossip on BFT consensus](https://arxiv.org/abs/1807.04938)".
Tendermint documentation can be found on [docs.tendermint.com](https://docs.tendermint.com/).
## Releases
Please do not depend on master as your production branch. Use the binaries provided on the [GitHub
releases page](https://github.com/dashpay/tenderdash/releases) instead.
## Install
See the [install instructions](./docs/introduction/install.md). Make sure to meet the minimum
requirements if installing from source.
### Minimum requirements
| Requirement | Notes |
|-------------|------------------|
| Go version | Go1.24.2 or higher |
## Versioning
### Semantic Versioning
Tenderdash uses [Semantic Versioning](http://semver.org/) to determine when and how the version
changes.
The Tenderdash API includes all publicly exposed types, functions, and methods in non-internal Go
packages as well as the types and methods accessible via the RPC interface. Breaking changes to
these public APIs will be documented in the [CHANGELOG](./CHANGELOG.md).
### Supported Versions
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 Tenderdash up-to-date.
## Resources
- [The latest gossip on BFT consensus](https://arxiv.org/abs/1807.04938)
- [Master's Thesis on Tendermint](https://atrium.lib.uoguelph.ca/xmlui/handle/10214/9769)
- [Original Whitepaper: "Tendermint: Consensus Without Mining"](https://tendermint.com/static/docs/tendermint.pdf)
## Contributing
Before contributing to the project, please take a look at the [contributing
guidelines](CONTRIBUTING.md) and the [style guide](STYLE_GUIDE.md). You may also find it helpful to
read the [Tendermint specifications](./spec/README.md), and familiarize yourself with the
[Architectural Decision Records (ADRs)](./docs/architecture/) and [Request For Comments
(RFCs)](./docs/rfc/).
## Join us
Tenderdash is maintained by [Dash Core Group](https://www.dash.org/dcg/). If you'd like to work
full-time on Tenderdash, [see our Jobs page](https://www.dash.org/dcg/jobs/).