mirror of
https://github.com/tendermint/tendermint.git
synced 2026-02-05 03:20:44 +00:00
* docs theme * vuepress-theme-cosmos * version bump * changes to docs * more code changes * sidebar order fix * moar changes * fixed dev sessions title * fixed dev sessions title, again * specs should show up in sidebar * contents cards * version bump * sidebar, rpc * version bump * custom footer and super naive search * version * minor change to vuepress * move swagger file * pre and post scripts * build * changed docs build process * added deployment config * updated versions file and added deployment filters
67 lines
3.0 KiB
Markdown
67 lines
3.0 KiB
Markdown
---
|
|
order: 1
|
|
parent:
|
|
order: false
|
|
---
|
|
|
|
# Architecture Decision Records (ADR)
|
|
|
|
This is a location to record all high-level architecture decisions in the tendermint project.
|
|
|
|
You can read more about the ADR concept in this [blog post](https://product.reverb.com/documenting-architecture-decisions-the-reverb-way-a3563bb24bd0#.78xhdix6t).
|
|
|
|
An ADR should provide:
|
|
|
|
- Context on the relevant goals and the current state
|
|
- Proposed changes to achieve the goals
|
|
- Summary of pros and cons
|
|
- References
|
|
- Changelog
|
|
|
|
Note the distinction between an ADR and a spec. The ADR provides the context, intuition, reasoning, and
|
|
justification for a change in architecture, or for the architecture of something
|
|
new. The spec is much more compressed and streamlined summary of everything as
|
|
it stands today.
|
|
|
|
If recorded decisions turned out to be lacking, convene a discussion, record the new decisions here, and then modify the code to match.
|
|
|
|
Note the context/background should be written in the present tense.
|
|
|
|
### Table of Contents:
|
|
|
|
- [ADR-001-Logging](./adr-001-logging.md)
|
|
- [ADR-002-Event-Subscription](./adr-002-event-subscription.md)
|
|
- [ADR-003-ABCI-APP-RPC](./adr-003-abci-app-rpc.md)
|
|
- [ADR-004-Historical-Validators](./adr-004-historical-validators.md)
|
|
- [ADR-005-Consensus-Params](./adr-005-consensus-params.md)
|
|
- [ADR-006-Trust-Metric](./adr-006-trust-metric.md)
|
|
- [ADR-007-Trust-Metric-Usage](./adr-007-trust-metric-usage.md)
|
|
- [ADR-008-Priv-Validator](./adr-008-priv-validator.md)
|
|
- [ADR-009-ABCI-Design](./adr-009-abci-design.md)
|
|
- [ADR-010-Crypto-Changes](./adr-010-crypto-changes.md)
|
|
- [ADR-011-Monitoring](./adr-011-monitoring.md)
|
|
- [ADR-012-Peer-Transport](./adr-012-peer-transport.md)
|
|
- [ADR-013-Symmetric-Crypto](./adr-013-symmetric-crypto.md)
|
|
- [ADR-014-Secp-Malleability](./adr-014-secp-malleability.md)
|
|
- [ADR-015-Crypto-Encoding](./adr-015-crypto-encoding.md)
|
|
- [ADR-016-Protocol-Versions](./adr-016-protocol-versions.md)
|
|
- [ADR-017-Chain-Versions](./adr-017-chain-versions.md)
|
|
- [ADR-018-ABCI-Validators](./adr-018-abci-validators.md)
|
|
- [ADR-019-Multisigs](./adr-019-multisigs.md)
|
|
- [ADR-020-Block-Size](./adr-020-block-size.md)
|
|
- [ADR-021-ABCI-Events](./adr-021-abci-events.md)
|
|
- [ADR-022-ABCI-Errors](./adr-022-abci-errors.md)
|
|
- [ADR-023-ABCI-Propose-tx](./adr-023-ABCI-propose-tx.md)
|
|
- [ADR-024-Sign-Bytes](./adr-024-sign-bytes.md)
|
|
- [ADR-025-Commit](./adr-025-commit.md)
|
|
- [ADR-026-General-Merkle-Proof](./adr-026-general-merkle-proof.md)
|
|
- [ADR-029-Check-Tx-Consensus](./adr-029-check-tx-consensus.md)
|
|
- [ADR-030-Consensus-Refactor](./adr-030-consensus-refactor.md)
|
|
- [ADR-033-Pubsub](./adr-033-pubsub.md)
|
|
- [ADR-034-Priv-Validator-File-Structure](./adr-034-priv-validator-file-structure.md)
|
|
- [ADR-035-Documentation](./adr-035-documentation.md)
|
|
- [ADR-037-Deliver-Block](./adr-037-deliver-block.md)
|
|
- [ADR-039-Peer-Behaviour](./adr-039-peer-behaviour.md)
|
|
- [ADR-041-Proposer-Selection-via-ABCI](./adr-041-proposer-selection-via-abci.md)
|
|
- [ADR-043-Blockchain-RiRi-Org](./adr-043-blockchain-riri-org.md)
|