-
Notifications
You must be signed in to change notification settings - Fork 170
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conflicting and/or duplicated information in specs: mining vs. expected-consensus #45
Comments
Based on the assertion that a spec is a spec and not a mirror of the code, then it would seem that what's in data_structures is actually incorrect. Clearly if there is a code snippet in a spec that looks to the reader that it is telling you what to expect is in a Block, and this is very different to what is in a different document, that this not only confusing, but one of them is incorrect. That said, my suggestions are this:
|
Another place where specifically what is expected in the |
Also, if "The mining document describes the filecoin implementation of expected consensus," what is the "expected consensus" document describing? So many questions! |
@shannonwells to quote myself, and elaborate
Think of it this way, expected consensus is a generic algorithm. Things described in a document specifically about expected consensus should describe how to implement the algorithm, think of this like a paper describing raft, or paxos, or some other consensus algorithm. Things described in such a document express the things needed by that protocol, as general abstract concepts. Such a document should go into more detail around the intuition and theory of the algorithm, and be very light on actual implementation details. The fact that the structures described in the tendermint paper don't line up one to one with the fields in actual structs in their code is fine. |
Description
There are some duplicated and seemingly conflicting passages between mining and expected-consensus documentation.
In particular there isn't full agreement between the two on the structure of types.Block and also with the source
types/block.go
. E.g. there's noNullBlocks
count in the source.Acceptance criteria
Documentation should be internally consistent and also reflect reality
Comment from @whyrusleeping copied to here since this is the appropriate repo (sorry for the n00b mistake):
The text was updated successfully, but these errors were encountered: