mirror of
https://github.com/tendermint/tendermint.git
synced 2026-08-28 20:06:24 +00:00
readme: cleanup (#262)
* modify readme * add rfc and proto * add rust=spec back to avoid breakage * lint readme
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Tendermint Spec
|
||||
|
||||
This repository contains specifications for the Tendermint protocol. For the pdf, see the [latest release](https://github.com/tendermint/spec/releases).
|
||||
This repository contains specifications for the Tendermint protocol.
|
||||
|
||||
There are currently two implementations of the Tendermint protocol,
|
||||
maintained by two separate-but-collaborative entities:
|
||||
@@ -9,16 +9,40 @@ maintained by Interchain GmbH,
|
||||
and one in [Rust](https://github.com/informalsystems/tendermint-rs),
|
||||
maintained by Informal Systems.
|
||||
|
||||
There have been inadvertent divergences in the specs followed
|
||||
by the Go implementation and the Rust implementation respectively.
|
||||
However, we are working toward reconverging these specs into a single unified spec.
|
||||
Consequently, this repository is in a bit of a state of flux.
|
||||
### Data Structures
|
||||
|
||||
At the moment, the spec followed by the Go implementation
|
||||
(tendermint/tendermint) is in the [spec](spec) directory,
|
||||
while the spec followed by the Rust implementation
|
||||
(informalsystems/tendermint-rs) is in the [rust-spec](rust-spec)
|
||||
directory. TLA+ specifications are also in the rust-spec directory.
|
||||
- [Encoding and Digests](./spec/core/encoding.md)
|
||||
- [Blockchain](./spec/core/data_structures.md)
|
||||
- [State](./spec/core/state.md)
|
||||
|
||||
Over time, these specs will converge in the spec directory.
|
||||
Once they have fully converged, we will version the spec moving forward.
|
||||
### Consensus Protocol
|
||||
|
||||
- [Consensus Algorithm](./spec/consensus/consensus.md)
|
||||
- [Creating a proposal](./spec/consensus/creating-proposal.md)
|
||||
- [Time](./spec/consensus/bft-time.md)
|
||||
- [Light-Client](./spec/consensus/light-client/README.md)
|
||||
|
||||
### P2P and Network Protocols
|
||||
|
||||
- [The Base P2P Layer](./p2p/node.md): multiplex the protocols ("reactors") on authenticated and encrypted TCP connections
|
||||
|
||||
#### P2P Messages
|
||||
|
||||
- [Peer Exchange (PEX)](./p2p/messages/pex.md): gossip known peer addresses so peers can find each other
|
||||
- [Block Sync](./p2p/messages/block_sync.md): gossip blocks so peers can catch up quickly
|
||||
- [Consensus](./p2p/messages/consensus.md): gossip votes and block parts so new blocks can be committed
|
||||
- [Mempool](./p2p/messages/mempool.md): gossip transactions so they get included in blocks
|
||||
- [Evidence](./p2p/messages/evidence.md): sending invalid evidence will stop the peer
|
||||
|
||||
### ABCI
|
||||
|
||||
- [ABCI](./spec/abci/README.md): Details about interactions between the
|
||||
application and consensus engine over ABCI
|
||||
|
||||
### RFC
|
||||
|
||||
- [RFC](./rfc/README.md): RFCs describe proposals to change the spec.
|
||||
|
||||
### ProtoBuf
|
||||
|
||||
- [Proto](./proto/README.md): The data structures of the Tendermint protocol are located in the `proto` directory. These specify P2P messages that each implementation should follow to be compatible.
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# Fast Sync
|
||||
|
||||
Deprecated see [tendermint/tendermint/docs/tendermint-core/fastsync.md]([../../spec/light-client](https://github.com/tendermint/tendermint/blob/master/docs/tendermint-core/fast-sync.md))
|
||||
@@ -0,0 +1,3 @@
|
||||
# Light Clients
|
||||
|
||||
Deprecated see [spec/light-client](../../spec/light-client)
|
||||
@@ -0,0 +1,3 @@
|
||||
# Verification
|
||||
|
||||
Deprecated see [spec/light-client/verification](../../spec/light-client/verification/README.md)
|
||||
Reference in New Issue
Block a user