* Describes all remaining messages except filterload. Specificially, the
following messages are described: Addr, Alert, FilterAdd, FilterClear,
GetAddr, Ping, Pong, Reject, VerAck, and Version
* New makefile test: report broken markdown tables
* Put relevant protocol version changes at the top of all message
subsections.
The makefile tests caught this, but it looks like I broke it back in
4553439e. Strangely, I did a full build before merging that commit---and
several more full builds since---and this is the first I'm noticing the
error. I'm fixing the broken link now; I'll look into the tests later.
Adds to the devel reference page detailed documentation on the following
messages: block, getblocks, getdata, getheaders, headers, inv, mempool,
merkleblock, notfound, and tx.
Adds to the devel examples page an example of requesting and parsing a
merkleblock message.
Adds to the devel docs overview pages links to the above two new
P2P sections.
Tweaks the autocrossref plugin ignore pattern to not crossref in the
middle of a GIF image name; this allows the inclusion of animated GIFs.
* Replace current description of the block header with a better
description.
* Describe the various version numbers.
* Describe how the merkle root is constructed.
* Describe how nBits is parsed and how to correctly create it to
avoid negative values.
* Describe the serialized block format used to calculate max block size.
* Replaced text justification with left-align (raggedright) for all text
in dev docs.
* Removed previous manual left-align in RPC byte order table
* Changed placement of See Below text partly based on a suggestion by
@saivann (thanks!)
* Normalized capitialization of special structures (e.g. s/TxIn/txIn/)
to be consistent with some other parts of the docs. (I don't think
we're fully consistent on this in all parts of the docs. I'll put a
rule in the style guide today and then we can make changes on the next
global proofread.)
* Fixed missing period found by @saivann (thanks!) and a related missing
preposition.
Provides a detailed description of the transaction format, replacing an
example hexdump taken from the wiki.
I'm putting this in the transaction section as the format is necessary
for the creation of txids, which are used as merkle leaves (so are
covered by consensus rules). However, this is also the format used by
several P2P network messages to transmit transactions, so I'll be
linking back to it from there as I document those messages.
As reported by @gsalgado (thanks!), the docs incorrectly state that all
sigs are compared against all pubkeys. This commit provides a corrected
description, additional details, and references in other parts of the
text where we mention multisig. (Fixes#622)
* Revise P2P Networking section to provide a more detailed description
of initial peer discovery and DNS seeds.
* Tweak autocrossref.rb to allow term blacklisting. Use this new feature
to prevent cross referencing "address" in "IP address" to the
definition of Bitcoin P2PKH/P2SH addresses. This avoids a bunch of
manual "norefs".
* Sorted the _includes/references.md file as it became unclear where
links should be added.
* Fixed accidentally lowercased "merkle" at start of sentence.
Based on a suggestion made by @petertodd to the -devel mailing list and
the discussion in that thread by him and other participants.
* We've been using the term "consensus", but this commit introduces a
formal definition for it and "consensus rules" as part of the block
chain introduction.
* Describe that consensus rules may change and may happen when they
do: hard or soft forks.
* Describe how full nodes can detect hard or soft forks, then describe
how SPV clients can detect hard and soft forks using the more limited
information available to them.
* Add a short subsection about the different byte orders used with
hashes in Bitcoin Core and other software.
* Re-word some text in other sections to mention the byte order
differences
This commit created based on comments from @SergioDemianLerner (thanks!)
* Adds the #bitcoin-dev IRC channel, Bitcoin StackExchange, and
BitcoinTalk Dev & Tech board to the development page.
* Links to that section of the page from the devel docs.