Jorge Timón via bitcoin-dev
2016-10-10 14:58:04 UTC
Hello, since trying to encapsulate consensus code without exposing
anything else (see my post from january
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-January/012235.html
) wasn't succesful in getting review, I decided to turn "phase 2" into
"expose verifyHeader" again. I was previously starting the document
with pictures but since things we're changing and the pictures were
already deprecated, I decided to wait after segwit was merged and
include those changes in the pictures too.
This time I created a repository so that people can look at it, even
if it's less advanced than previous versions have been:
https://github.com/jtimon/consensus-doc
Here's a branch with the resulting images, latex file and pdf:
https://github.com/jtimon/consensus-doc/tree/generated
And here's the pdf:
https://github.com/jtimon/consensus-doc/blob/generated/libconsensus.pdf
Any questions or comments are welcomed. If some of the images are
wanted for some other more general documentation or you want me to
create a specific diagram to document Bitcoin Core I'm happy to do so
as well.
Note that some phases can be done in different order or in parallel
(ie phase 3 and phase 4 could happen before phase 2, although I
strongly doubt it because phase 2 is the simplest to review and I've
been harassing different people to do it for a while with little
success [thanks to those who reviewed it and gave feedback] ).
An implementation of phase 2 (expose verifyHeader()) can be seen in
https://github.com/bitcoin/bitcoin/pull/8493
anything else (see my post from january
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-January/012235.html
) wasn't succesful in getting review, I decided to turn "phase 2" into
"expose verifyHeader" again. I was previously starting the document
with pictures but since things we're changing and the pictures were
already deprecated, I decided to wait after segwit was merged and
include those changes in the pictures too.
This time I created a repository so that people can look at it, even
if it's less advanced than previous versions have been:
https://github.com/jtimon/consensus-doc
Here's a branch with the resulting images, latex file and pdf:
https://github.com/jtimon/consensus-doc/tree/generated
And here's the pdf:
https://github.com/jtimon/consensus-doc/blob/generated/libconsensus.pdf
Any questions or comments are welcomed. If some of the images are
wanted for some other more general documentation or you want me to
create a specific diagram to document Bitcoin Core I'm happy to do so
as well.
Note that some phases can be done in different order or in parallel
(ie phase 3 and phase 4 could happen before phase 2, although I
strongly doubt it because phase 2 is the simplest to review and I've
been harassing different people to do it for a while with little
success [thanks to those who reviewed it and gave feedback] ).
An implementation of phase 2 (expose verifyHeader()) can be seen in
https://github.com/bitcoin/bitcoin/pull/8493