Browse Source

readme: cleanup (#262)

* modify readme

* add rfc and proto

* add rust=spec back to avoid breakage

* lint readme
pull/7804/head
Marko 4 years ago
committed by GitHub
parent
commit
9f6a4bcf23
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 45 additions and 12 deletions
  1. +36
    -12
      README.md
  2. +3
    -0
      rust-spec/fastsync/README.md
  3. +3
    -0
      rust-spec/lightclient/README.md
  4. +3
    -0
      rust-spec/lightclient/verification/README.md

+ 36
- 12
README.md View File

@ -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.

+ 3
- 0
rust-spec/fastsync/README.md View File

@ -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))

+ 3
- 0
rust-spec/lightclient/README.md View File

@ -0,0 +1,3 @@
# Light Clients
Deprecated see [spec/light-client](../../spec/light-client)

+ 3
- 0
rust-spec/lightclient/verification/README.md View File

@ -0,0 +1,3 @@
# Verification
Deprecated see [spec/light-client/verification](../../spec/light-client/verification/README.md)

Loading…
Cancel
Save