Skip to content

dashpay/tenderdash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tenderdash

banner

Byzantine-Fault Tolerant State Machine Replication. Or Blockchain, for short.

version GitHub go.mod Go version Discord chat dashpay/tenderdash

Branch Tests Coverage Linting
master Tests codecov Golang Linter

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 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) 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. For a detailed analysis of the consensus protocol, including safety and liveness proofs, read the Tendermint paper, "The latest gossip on BFT consensus". Tendermint documentation can be found on docs.tendermint.com.

Releases

Please do not depend on master as your production branch. Use the binaries provided on the GitHub releases page instead.

Install

See the install instructions. Make sure to meet the minimum requirements if installing from source.

Minimum requirements

Requirement Notes
Go version Go1.23 or higher

Versioning

Semantic Versioning

Tenderdash uses Semantic Versioning 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.

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

Contributing

Before contributing to the project, please take a look at the contributing guidelines and the style guide. You may also find it helpful to read the Tendermint specifications, and familiarize yourself with the Architectural Decision Records (ADRs) and Request For Comments (RFCs).

Join us

Tenderdash is maintained by Dash Core Group. If you'd like to work full-time on Tenderdash, see our Jobs page.