This reverts commit e3dcf0ce1f, reversing
changes made to c71e9fdf2d.
Once again we had a broken new plugin that Travis CI and local building
didn't catch.
Converts fake subheadings created using **bold** to real HTML
subheadings without adding them to the table of contents.
Also fixes a link broken by commit 4e067ac89e and adds a Makefile
test to catch future similar breakage.
New material:
* Add documentation for `filterload` message to devref. This is the last
P2P protocol message which needed documentation.
* Add an example for creating a bloom filter to the devex, as well as an
example of checking data against that filter.
Edits:
* Change "object" to "element" in previous `filteradd` text. I decided
"transaction element" made more sense than the more generic "object".
Text should be fully consistent across both `filterload` and
`filteradd` descriptions.
* Mentioned that I think the example hexdump in the `alert` section is
public domain. (Only the hex is taken from the wiki; the annotation is
my own work.)
* 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)
* 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!)
This modifies commits provided by @petertodd to use the terms "pubkey
script" and "signature script" instead of other terms.
* Rename "scriptPubKey" and "output script" to "pubkey script"
(suggested by @luke-jr). We leave a token "scriptPubKey" at the point
where we define pubkey script so that searchers can find it.
* Rename "scriptSig" to "signature script" (suggested by @luke-jr). We
also leave a token "scriptSig" at this definition point.
* Rename "redeemScript" to "redeem script"
* Defined ECDSA on secp256k1 curve as the crypto used in the Transaction
section and added references to secp256k1 private/public keys and
signatures.
* Removed "The Parts Of A Transaction" illustration by commenting it out
in the HTML. Shoehorning the pubkey/signature script terms into this
image was becoming difficult, and I'm not very fond of that
illustration anyway. I'll see if I can think of a nicer replacement
illustration for some point in the future.
* Add a short paraphrased version @petertodd's description of scripts as
generalized crypto.
* Updated all the illustrations which referred to either pubkey scripts
or signature scripts to use these terms.
* Small grammar fixes.
* Lower case #term-scriptPubKey as all our other anchor links are
lower case
* Replace script/scripts with scriptPubKey/scriptPubKeys in
_autocrossref.yaml. (Fixes `make test` errors from broken
auto-crossref links.)
Move existing "regtest / testnet" texts to the new subsection and link to it
Move Bitcoin Core setup instructions in devel-examples
Add a consistent introduction for devel-(guide/ref/examples)
Fix autocrossref.rb to not add links inside {% highlight %} code blocks
**Suggested by @cbeams:**
_includes/ref_block_chain.md:
* Mention that coinbase is the first transaction in a block.
**Suggested by @gmaxwell:**
_includes/ref_core_rpcs-abcdefg.md:
* Mention that you need to unlock your wallet when you run out of
keys in the keypool.
* Remove erroneous assertion that txindex=1 would allow
`getreceivedbyaddress` to check balances of addresses not
belonging to this wallet.
_includes/ref_transactions.md:
* Clarify that OP_RETURN scripts aren't usually executed because
they always return false.
en/developer-reference.md
* Add a warning about using block chain or mempool data in
executable context.
Thanks also (in alphabetical order) to @cbeams, @mikehearn, and
@tgeller, among others.
The last pre-squash commit was: c2b8d562aa107c7b68c60946cea14cdccc5159ad