* 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.
* Replace previous TX Overview image with a simplified illustration.
The previous overview image was commented out in pull #566 / commit
6afc683. New image incorporates suggestions by @saivann (thanks!)
* Add new illustration showing the specifics of outputs and inputs (and
how they're related). This replaces most of the detail lost by using a
simplified overview image
* Add two short paragraphs briefly describing the ouput and input
features, leading into the existing detailed P2PKH description
Bitcoin limits are usually defined using decimal-friendly numbers of bytes. The block size is limited to 1 MB, not 1 MiB, for example. Also, the latest block size limit is 750 KB, not 350 KB.
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
No apparent privacy is added by the implementation we link to, and the
press release I read indicates they don't plan to fix it, so I'm
removing our link to it.
Several reviewers kindly provided feedback via IRC tonight, resulting in
the following changes:
* Mention that compressed keys are used in the offical secp256k1
documentation with the prefix bytes used by Bitcoin. I could not find
a publicly-available officialish document defining the prefix bytes,
but they're used repeatedly in the offical SECG documentation we
autoxref "secp256k1" to, so I went with that.
* Remove the mention that Bitcoin Core uses OpenSSL. While true, there
is an effort to slowly move away from using OpenSSL for EC in
Bitcoin Core.
* Change the phrasing of the relative curve location for 0x02 & 0x03 to
a form more correct for actuality instead of the illustrated
abstraction.
* Drop quotes around "uncompressed" since that's the term used in the
official secp256k1 docs, not something Bitcoin-specific.
Based on feedback from @luke-jr. (Thanks!)
* Use "may" to indicate that full peers don't need to track unconfirmed txes.
* Change the example given for why non-mining peers might want to track
unconfirmed txes.
* Note that txes also get dropped from mempool when memory needs
to be freed.
* Remove paragraph about storing non-relay/non-mine txes.
* Clarify a few places where payment request was used instead of
PaymentRequest.
* Clarify that payment isn't necessarily verified until the merchant
says so. Suggested by @saivann (thanks!)