madara icon indicating copy to clipboard operation
madara copied to clipboard

feat: tendermint for substrate

Open AbdelStark opened this issue 1 year ago • 3 comments

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

  1. Research: Understand the Tendermint consensus algorithm and how it can be integrated with the Substrate framework.
  2. 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.
  3. Implementation: Implement the design, ensuring that the new consensus algorithm is fully compatible with Substrate.
  4. Testing: Write comprehensive tests to ensure the new consensus algorithm works as expected and does not introduce any regressions.
  5. 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.

Resources

AbdelStark avatar Jul 25 '23 07:07 AbdelStark