Commit graph

143 commits

Author SHA1 Message Date
David A. Harding
1634212dd5
Dev Docs: Add P2P Messages That Request Or Reply With Data
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.
2014-11-12 12:39:36 -05:00
saivann
b9a6c105a1 Merge pull request #636 from bitcoin/bits
Add mentions and definitions for bits
2014-11-11 12:13:36 -05:00
Saivann
01bf6de924 Revert another mention for "bits" 2014-11-11 12:12:27 -05:00
Saivann
8bb1b18498 Drop post-decimal delimiter (thanks @luke-jr) 2014-11-08 11:10:10 -05:00
David A. Harding
a8f8f750c8
Dev Docs: Describe Serialized Block Header And Block Format
* 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.
2014-11-07 22:50:27 -05:00
Saivann
adaba05941 Add mentions and definitions for bits 2014-11-07 19:13:32 -05:00
David A. Harding
0af6ef09ff
Dev Docs: Detail Transaction Format
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.
2014-11-02 22:21:36 -05:00
David A. Harding
1604ed54e3
Describe Hardcoded Peers & BCCore Command-Line Fallbacks
Suggested by @gmaxwell (thanks!)
2014-10-25 18:02:25 -04:00
David A. Harding
4553439eda
Dev Docs: Describe Initial Peer Discovery & DNS Seeds
* 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".
2014-10-25 16:14:32 -04:00
David A. Harding
0f8504e204
Reorder Links (No URL Or Text Changes) & Fix Tiny Typo
* Sorted the _includes/references.md file as it became unclear where
  links should be added.

* Fixed accidentally lowercased "merkle" at start of sentence.
2014-10-25 15:12:55 -04:00
David A. Harding
d5900e3df4
Merge branches 'consensus-forking' (pull #615) and 'byte-order' (pull #583) 2014-10-25 14:57:07 -04:00
David A. Harding
a59b576abc
Link To Detecting Forks From Verifying Payment Section (thanks @saivann!) 2014-10-24 09:45:13 -04:00
David A. Harding
2e8ceb26df
Describe Soft And Hard Forks
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.
2014-10-24 09:44:50 -04:00
David A. Harding
e65d86de21
Mention Bitcoin's RPC Hash Byte Order
* 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!)
2014-10-23 14:53:52 -04:00
David A. Harding
2147b830f1
Merge branch 'devhelp' (pull #595) 2014-10-06 18:09:09 -04:00
David A. Harding
a3f687142d
Use Mirror For Secg Paper. Closes #598 (thanks @alecalve!) 2014-10-04 15:22:11 -04:00
David A. Harding
1a305a735a
Add "Developer Communities" To Development Page
* 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.
2014-10-04 11:22:53 -04:00
Saivann
89b86f6b66 Merge remote-tracking branch 'remotes/luke-jr/master' into master 2014-10-03 15:36:09 -04:00
Luke Dashjr
f85c631cae DevDocs: Block Chain: Transaction Data: Many corrections 2014-10-03 19:17:44 +00:00
Luke Dashjr
66edff8d73 DevDocs: Block Chain: Block Height and Forking: Many corrections 2014-10-03 19:17:44 +00:00
David A. Harding
69125fd86c
Link Dust Limit (546 sat) To Bitcoin Core Commit 614c196 (closes #592) 2014-10-03 11:34:08 -04:00
Luke Dashjr
78962123fa Bugfix: "merkle root" and "merkle tree" are common nouns, so generally lowercase 2014-10-02 01:19:05 +00:00
David A. Harding
6afc6835bf
Use Terms "Pubkey Script" And "Signature Script"
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.
2014-09-20 15:07:42 -04:00
David A. Harding
89cb2fff08 Small fixes to scriptPubKey/scriptSig pull
* 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.)
2014-09-20 08:42:07 -04:00
Peter Todd
9183f98bc1 Fix incorrect usage of 'script' rather than 'scriptPubKey'
This is causing quite a bit of confusion, for example by people looking
in the Bitcoin Core sourcecode and seeing the term 'scriptPubKey'
instead.
2014-09-20 08:35:39 -04:00
David A. Harding
82a2718481
Link to libblkmaker and python-blkmaker (thanks @luke-jr!)
Closes #517
2014-08-10 08:29:33 -04:00
David A. Harding
2c07b3de0e
New 0.9.2 RPCs: getblockchaininfo, getnetworkinfo, getwalletinfo
Added the three new RPCs to the RPC docs and also added a warning that
getinfo will be removed in a future version.
2014-08-07 21:23:42 -04:00
Alexander Lolis
e7cab75336 Updated references.md and replaced blockexplorer.com links with biteasy.com 2014-06-30 20:16:13 +03:00
Saivann
ffed3c2529 Create a "Testing Applications" subsection in devel-examples
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
2014-06-12 21:42:42 -04:00
David A. Harding
85f27095c3
Briefly Reapeat Warning Not To Manually Manage Priv Keys In P2SH Example 2014-06-10 23:36:56 -04:00
David A. Harding
18c2c8dd9f
Add Warning About Handling Private Keys To Transaction Examples 2014-06-10 22:09:48 -04:00
David A. Harding
ba1a33e712
Merge remote-tracking branch 'bitcoin.org/master' into generatingtxes
Conflicts:
	_includes/references.md
2014-06-09 14:04:23 -04:00
David A. Harding
63e838fa8c
Small fixes suggested by @saivann (thanks!) 2014-06-09 13:15:35 -04:00
Saivann
dcb4be8e9b Add BIP71 and BIP72 to autocrossref links 2014-06-08 23:21:26 -04:00
David A. Harding
87e31affba
Add Subsection About Wallet Programs, Incl. Hardware Wallets
Describe the essential functions of a wallet program and how multiple
programs can work together to fulfill those functions, as in the case of
a signing-only wallet.
2014-06-07 19:27:49 -04:00
David A. Harding
61f0931b75
Updates Based On Feedback From Mailing List
* Remove the QR Code error corrections subsection.

* Remove the non-example Payment Protocol text from developer examples.

* Update reference links and autocrossrefs to reflect above deletions

* Fix CSS padding problems reported by @saivann

* Remove all HTML comments from autocrossref text to allow easy checking
  for broken link definitions: find _site -name '*.html' | xargs grep '\]\['

* Add PNG versions of guide and example SVG icons.  (optipng run)
2014-06-06 18:46:32 -04:00
David A. Harding
78b4c5452e
Merge remote-tracking branch 'bitcoin.org/master' into generatingtxes
Conflicts:
	_includes/guide_payment_processing.md
	_less/screen.less
2014-06-02 11:40:38 -04:00
David A. Harding
2e2b0968e7
Add Icons; Update Links
* Add new icons for Developer Guide and Developer Examples so we don't
  keep reusing the book icon.

* Update payment protocol links to point to developer examples when
  appropriate.
2014-06-02 11:30:53 -04:00
David A. Harding
d1b4b08729
Add Developer Examples; Transaction Tutorial
* Add new Developer Examples page

* Add a transaction tutorial describing in detail how to make various
  different transactions.

* Add a new "multicode" CSS class to allow combination of consecutive
  code blocks into a single code block. This lets us use pygments
  highlighting for multiple different types of code within the same
  aparent block of code.

* Get autocrossref to ignore code blocks so we don't need to endcrossref
  every time we encounter a code block. This makes the source much more
  readable and maintainable.
2014-05-29 23:19:57 -04:00
David A. Harding
7595014dd2
Minor Additions: Payment Req Generator & 210,000 Block Halving
Two unrelated minor additions which were requested at nearly the same
time.

* @mikehearn requested we add a link to @gavinandresen's PaymentRequest
  generator. Added to _includes/guide_payment_processing.md with link
  definition in _includes/references.md

* @Burrito-Bazooka requested we mention that the block reward halves
  every 210,000 blocks. Added to _includes/ref_block_chain.md
2014-05-26 21:25:52 -04:00
David A. Harding
cb5b2206b1
Make Clearer The Benefits Of Hardened Keys And The Absence Of A Master PubKey
As suggested by @gmaxwell (thanks!), I tried to make clearer the benefit
of hardened keys:

* Described hardened keys as a solution in the first sentence of the
  Hardened Keys subsection.

* Reordered the text so that the problem is described before the
  solution, making the presence of a solution clearer.

* Added a prefatory sentence to the description of the two key
  derivation formulas again describing the hardened formula as a
  solution.

As suggested by @vbuterin (thanks!), I added a paragraph describing that
HD wallets don't use normal derivation on the master key so they don't
have an effective master public key. (See end of the diff.)

This is a fairly large diff because of the reordering, but no new
clauses were added besides those described above.
2014-05-20 10:15:23 -04:00
Saivann
c7eed3e444 Replace P2PH by P2PKH in devel-docs 2014-05-14 00:21:00 -04:00
saivann
46780d3177 Contributions by @saivann to devel docs
Thanks also (in alphabetical order) to @cbeams, @mikehearn, and
@tgeller, among others.

The last pre-squash commit was: c2b8d562aa107c7b68c60946cea14cdccc5159ad
2014-05-09 22:13:59 -04:00