From ee5c79087820e5272c5bb1bda38d42ef0c50bca8 Mon Sep 17 00:00:00 2001 From: Callum Michael Waters Date: Tue, 10 Mar 2020 15:32:51 +0100 Subject: [PATCH 1/5] add markdown link checker --- .github/workflows/action.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/workflows/action.yml diff --git a/.github/workflows/action.yml b/.github/workflows/action.yml new file mode 100644 index 000000000..ee2fd4899 --- /dev/null +++ b/.github/workflows/action.yml @@ -0,0 +1,10 @@ +name: Check Markdown links +on: push +jobs: + markdown-link-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: gaurav-nelson/github-action-markdown-link-check@0.6.0 + with: + folder-path: "spec" From e963deff5a00bbe08ddd7c8a99a4cf9ca2129ba9 Mon Sep 17 00:00:00 2001 From: Callum Waters Date: Tue, 10 Mar 2020 15:48:31 +0100 Subject: [PATCH 2/5] changed tab spacing --- .github/workflows/action.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/action.yml b/.github/workflows/action.yml index ee2fd4899..085332724 100644 --- a/.github/workflows/action.yml +++ b/.github/workflows/action.yml @@ -1,10 +1,12 @@ name: Check Markdown links + on: push + jobs: - markdown-link-check: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@master - - uses: gaurav-nelson/github-action-markdown-link-check@0.6.0 - with: - folder-path: "spec" + markdown-link-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: gaurav-nelson/github-action-markdown-link-check@0.6.0 + with: + folder-path: 'spec' From 4f0fb3325ad640ecaa2d56ff28e3766a8c6c432f Mon Sep 17 00:00:00 2001 From: Callum Waters Date: Tue, 10 Mar 2020 15:51:23 +0100 Subject: [PATCH 3/5] removed folder-path flag --- .github/workflows/action.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/action.yml b/.github/workflows/action.yml index 085332724..26993168d 100644 --- a/.github/workflows/action.yml +++ b/.github/workflows/action.yml @@ -8,5 +8,3 @@ jobs: steps: - uses: actions/checkout@master - uses: gaurav-nelson/github-action-markdown-link-check@0.6.0 - with: - folder-path: 'spec' From c9a664a2f842d2c9862ce993212261043bf81ab2 Mon Sep 17 00:00:00 2001 From: Callum Michael Waters Date: Tue, 10 Mar 2020 16:15:59 +0100 Subject: [PATCH 4/5] first attempt at fixing all links --- spec/README.md | 2 +- spec/consensus/fork-accountability.md | 3 --- spec/consensus/light-client.md | 3 --- spec/consensus/readme.md | 2 +- spec/p2p/node.md | 3 ++- spec/reactors/consensus/consensus.md | 7 +++++-- spec/reactors/mempool/reactor.md | 2 +- 7 files changed, 10 insertions(+), 12 deletions(-) delete mode 100644 spec/consensus/fork-accountability.md delete mode 100644 spec/consensus/light-client.md diff --git a/spec/README.md b/spec/README.md index a0a67f7b5..4ed12aef3 100644 --- a/spec/README.md +++ b/spec/README.md @@ -31,7 +31,7 @@ please submit them to our [bug bounty](https://tendermint.com/security)! - [Consensus Algorithm](./consensus/consensus.md) - [Creating a proposal](./consensus/creating-proposal.md) - [Time](./consensus/bft-time.md) -- [Light-Client](./consensus/light-client.md) +- [Light-Client](./consensus/light-client/README.md) ### P2P and Network Protocols diff --git a/spec/consensus/fork-accountability.md b/spec/consensus/fork-accountability.md deleted file mode 100644 index ea77fe87a..000000000 --- a/spec/consensus/fork-accountability.md +++ /dev/null @@ -1,3 +0,0 @@ -# Fork Accountability - MOVED! - -Fork Accountability has moved to [light-client](./light-client/accountability). diff --git a/spec/consensus/light-client.md b/spec/consensus/light-client.md deleted file mode 100644 index c3da2f79c..000000000 --- a/spec/consensus/light-client.md +++ /dev/null @@ -1,3 +0,0 @@ -# Light Client - MOVED! - -Light Client has moved to [light-client](./light-client). diff --git a/spec/consensus/readme.md b/spec/consensus/readme.md index 85e27074c..6c0bb466a 100644 --- a/spec/consensus/readme.md +++ b/spec/consensus/readme.md @@ -23,7 +23,7 @@ Specification of the Tendermint consensus protocol. consensus state machine to recover from crashes. The protocol used to gossip consensus messages between peers, which is critical -for liveness, is described in the [reactors section](/spec/reactors/consensus). +for liveness, is described in the [reactors section](/spec/reactors/consensus/consensus.md). There is also a [stale markdown description](consensus.md) of the consensus state machine (TODO update this). diff --git a/spec/p2p/node.md b/spec/p2p/node.md index 6d37eeb78..0bbcf0b5b 100644 --- a/spec/p2p/node.md +++ b/spec/p2p/node.md @@ -12,7 +12,8 @@ Seeds should operate full nodes with the PEX reactor in a "crawler" mode that continuously explores to validate the availability of peers. Seeds should only respond with some top percentile of the best peers it knows about. -See [the peer-exchange docs](https://github.com/tendermint/tendermint/blob/master/docs/spec/reactors/pex/pex.md)for details on peer quality. +See [the peer-exchange docs](https://github.com/tendermint/spec/blob/master/spec/reactors/pex/pex.md) for + details on peer quality. ## New Full Node diff --git a/spec/reactors/consensus/consensus.md b/spec/reactors/consensus/consensus.md index 55960874a..ff15af746 100644 --- a/spec/reactors/consensus/consensus.md +++ b/spec/reactors/consensus/consensus.md @@ -16,7 +16,8 @@ explained in a forthcoming document. For efficiency reasons, validators in Tendermint consensus protocol do not agree directly on the block as the block size is big, i.e., they don't embed the block inside `Proposal` and `VoteMessage`. Instead, they reach agreement on the `BlockID` (see `BlockID` definition in -[Blockchain](https://github.com/tendermint/tendermint/blob/master/docs/spec/blockchain/blockchain.md#blockid) section) that uniquely identifies each block. The block itself is +[Blockchain](https://github.com/tendermint/spec/blob/master/spec/blockchain/blockchain.md#blockid) section) +that uniquely identifies each block. The block itself is disseminated to validator processes using peer-to-peer gossiping protocol. It starts by having a proposer first splitting a block into a number of block parts, that are then gossiped between processes using `BlockPartMessage`. @@ -65,7 +66,9 @@ type Proposal struct { ## VoteMessage VoteMessage is sent to vote for some block (or to inform others that a process does not vote in the -current round). Vote is defined in the [Blockchain](https://github.com/tendermint/tendermint/blob/master/docs/spec/blockchain/blockchain.md#blockid) section and contains validator's +current round). Vote is defined in the +[Blockchain](https://github.com/tendermint/spec/blob/master/spec/blockchain/blockchain.md#blockidd) +section and contains validator's information (validator address and index), height and round for which the vote is sent, vote type, blockID if process vote for some block (`nil` otherwise) and a timestamp when the vote is sent. The message is signed by the validator private key. diff --git a/spec/reactors/mempool/reactor.md b/spec/reactors/mempool/reactor.md index 7e9a2d8fe..66e5d826b 100644 --- a/spec/reactors/mempool/reactor.md +++ b/spec/reactors/mempool/reactor.md @@ -7,7 +7,7 @@ See [this issue](https://github.com/tendermint/tendermint/issues/1503) Mempool maintains a cache of the last 10000 transactions to prevent replaying old transactions (plus transactions coming from other validators, who are continually exchanging transactions). Read [Replay -Protection](../../../app-dev/app-development.md#replay-protection) +Protection](https://github.com/tendermint/tendermint/blob/master/docs/app-dev/app-development.md#replay-protection) for details. Sending incorrectly encoded data or data exceeding `maxMsgSize` will result From 3f04e8bbce9a863c580275d0becd0514d24afa1e Mon Sep 17 00:00:00 2001 From: Callum Michael Waters Date: Tue, 10 Mar 2020 16:22:14 +0100 Subject: [PATCH 5/5] second attempt at fixing all links --- spec/consensus/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/consensus/readme.md b/spec/consensus/readme.md index 6c0bb466a..8bf4e68bd 100644 --- a/spec/consensus/readme.md +++ b/spec/consensus/readme.md @@ -23,7 +23,7 @@ Specification of the Tendermint consensus protocol. consensus state machine to recover from crashes. The protocol used to gossip consensus messages between peers, which is critical -for liveness, is described in the [reactors section](/spec/reactors/consensus/consensus.md). +for liveness, is described in the [reactors section](../reactors/consensus/consensus.md). There is also a [stale markdown description](consensus.md) of the consensus state machine (TODO update this).