Some checks are pending
docker-build-cometbft / vars (push) Waiting to run
docker-build-cometbft / build-images (amd64, ubuntu-24.04) (push) Blocked by required conditions
docker-build-cometbft / build-images (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
docker-build-cometbft / merge-images (push) Blocked by required conditions
docker-build-e2e-node / vars (push) Waiting to run
docker-build-e2e-node / build-images (amd64, ubuntu-24.04) (push) Blocked by required conditions
docker-build-e2e-node / build-images (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
docker-build-e2e-node / merge-images (push) Blocked by required conditions
5.1 KiB
5.1 KiB
| order | parent | ||
|---|---|---|---|
| 1 |
|
Tendermint Core Architecture Decision Records (ADR)
Here we record all high-level architecture decisions in the Tendermint Core project. All implemented ADRs in this list naturally affect CometBFT, since CometBFT is a fork of Tendermint Core as of December 2022.
This list is currently frozen and kept for reference purposes. To add new ADRs, please do so for CometBFT here.
Table of Contents
Implemented
- ADR-001: Logging
- ADR-002: Event-Subscription
- ADR-003: ABCI-APP-RPC
- ADR-004: Historical-Validators
- ADR-005: Consensus-Params
- ADR-008: Priv-Validator
- ADR-009: ABCI-Design
- ADR-010: Crypto-Changes
- ADR-011: Monitoring
- ADR-014: Secp-Malleability
- ADR-015: Crypto-Encoding
- ADR-016: Protocol-Versions
- ADR-017: Chain-Versions
- ADR-018: ABCI-Validators
- ADR-019: Multisigs
- ADR-020: Block-Size
- ADR-021: ABCI-Events
- ADR-025: Commit
- ADR-026: General-Merkle-Proof
- ADR-033: Pubsub
- ADR-034: Priv-Validator-File-Structure
- ADR-043: Blockchain-RiRi-Org
- ADR-044: Lite-Client-With-Weak-Subjectivity
- ADR-046: Light-Client-Implementation
- ADR-047: Handling-Evidence-From-Light-Client
- ADR-051: Double-Signing-Risk-Reduction
- ADR-052: Tendermint-Mode
- ADR-053: State-Sync-Prototype
- ADR-054: Crypto-Encoding-2
- ADR-055: Protobuf-Design
- ADR-056: Light-Client-Amnesia-Attacks
- ADR-059: Evidence-Composition-and-Lifecycle
- ADR-065: Custom Event Indexing
- ADR-066: E2E-Testing
- ADR-072: Restore Requests for Comments
- ADR-076: Combine Spec and Tendermint Repositories
- ADR-077: Configurable Block Retention
- ADR-078: Non-zero Genesis
Accepted
- ADR-006: Trust-Metric
- ADR-024: Sign-Bytes
- ADR-039: Peer-Behaviour
- ADR-063: Privval-gRPC
- ADR-067: Mempool Refactor
- ADR-071: Proposer-Based Timestamps
- ADR-075: RPC Event Subscription Interface
- ADR-079: Ed25519 Verification
- ADR-081: Protocol Buffers Management
Deprecated
Rejected
Proposed
- ADR-007: Trust-Metric-Usage
- ADR-012: Peer-Transport
- ADR-013: Symmetric-Crypto
- ADR-022: ABCI-Errors
- ADR-030: Consensus-Refactor
- ADR-036: Empty Blocks via ABCI
- ADR-037: Deliver-Block
- ADR-038: Non-Zero-Start-Height
- ADR-040: Blockchain Reactor Refactor
- ADR-041: Proposer-Selection-via-ABCI
- ADR-042: State Sync Design
- ADR-045: ABCI-Evidence
- ADR-050: Improved Trusted Peering
- ADR-057: RPC
- ADR-060: Go-API-Stability
- ADR-061: P2P-Refactor-Scope
- ADR-062: P2P-Architecture
- ADR-064: Batch Verification
- ADR-068: Reverse-Sync
- ADR-069: Node Initialization
- ADR-073: Adopt LibP2P
- ADR-074: Migrate Timeout Parameters to Consensus Parameters
- ADR-080: Reverse Sync