madara
madara copied to clipboard
feat: tendermint for substrate
Implement Tendermint Consensus Compatible with Substrate
Description
The goal of this issue is to implement the Tendermint consensus algorithm in a way that is compatible with the Substrate framework. This will allow Madara to leverage the benefits of both the Tendermint consensus and the Substrate's modular framework.
Background
Tendermint 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. Substrate, on the other hand, is a modular framework that enables you to create purpose-built blockchains by composing custom or pre-built components.
Tasks
- Research: Understand the Tendermint consensus algorithm and how it can be integrated with the Substrate framework.
- Design: Create a design document detailing how the Tendermint consensus will be implemented in Madara. This should include any necessary changes to the existing architecture.
- Implementation: Implement the design, ensuring that the new consensus algorithm is fully compatible with Substrate.
- Testing: Write comprehensive tests to ensure the new consensus algorithm works as expected and does not introduce any regressions.
- Documentation: Update the project documentation to reflect the new consensus algorithm.
Acceptance Criteria
- The Tendermint consensus algorithm is fully implemented and compatible with the Substrate framework.
- The implementation passes all tests.
- The project documentation is updated to reflect the new consensus algorithm.