Dev Docs: Add "Edit|History|Report Issue|Discuss" Links To Subheads

This commit is contained in:
David A. Harding 2014-12-13 17:35:21 -05:00
parent 25acab7584
commit f368d38e04
No known key found for this signature in database
GPG key ID: 4B29C30FF29EC4B7
27 changed files with 331 additions and 20 deletions

View file

@ -33,13 +33,13 @@ all: pre-build-tests build post-build-tests
## Pre-build tests which, aggregated together, take less than 5 seconds to run on a typical PC ## Pre-build tests which, aggregated together, take less than 5 seconds to run on a typical PC
pre-build-tests-fast: check-for-non-ascii-urls pre-build-tests-fast: check-for-non-ascii-urls check-for-wrong-filename-assignments
## Post-build tests which, aggregated together, take less than 5 seconds to run on a typical PC ## Post-build tests which, aggregated together, take less than 5 seconds to run on a typical PC
post-build-tests-fast: check-for-build-errors ensure-each-svg-has-a-png check-for-liquid-errors \ post-build-tests-fast: check-for-build-errors ensure-each-svg-has-a-png check-for-liquid-errors \
check-for-missing-anchors check-for-broken-markdown-reference-links \ check-for-missing-anchors check-for-broken-markdown-reference-links \
check-for-broken-kramdown-tables check-for-duplicate-header-ids \ check-for-broken-kramdown-tables check-for-duplicate-header-ids \
check-for-headers-containing-auto-link check-for-headers-containing-auto-link check-for-missing-subhead-links
## All pre-build tests, including those which might take multiple minutes ## All pre-build tests, including those which might take multiple minutes
pre-build-tests: pre-build-tests-fast pre-build-tests: pre-build-tests-fast
@ -134,3 +134,19 @@ check-for-headers-containing-auto-link:
## none of the generated subheadings contain the string ## none of the generated subheadings contain the string
## 'class="auto-link"' produced by autocrossref ## 'class="auto-link"' produced by autocrossref
$S grep '<\(h[2-6]\).*\?>[^>]\+class="auto-link".*</\1>' _site/en/developer-* | eval $(ERROR_ON_OUTPUT) $S grep '<\(h[2-6]\).*\?>[^>]\+class="auto-link".*</\1>' _site/en/developer-* | eval $(ERROR_ON_OUTPUT)
check-for-missing-subhead-links:
## Make sure each subhead (h2-h6) either has the subhead links
## (edit,issue,etc) or something like <!-- no subhead-links here -->
$S egrep -n -A1 '<h[2-6]' _site/en/developer-* \
| egrep -v 'developer-documentation|<h[2-6]|^--|subhead-links' \
| eval $(ERROR_ON_OUTPUT)
check-for-wrong-filename-assignments:
## Make sure whenever we use {% assign filename="some-file" %} that the
## filename assignment matches the actual filename. This will, in
## particular, help catch mistakes when we move files
$S find . -name '*.md' \
| xargs grep 'assign *filename' \
| grep -v '^\./\(.*\):{.*filename=.\1"' \
| eval $(ERROR_ON_OUTPUT)

View file

@ -2,6 +2,7 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/example_intro.md" %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,10 +2,13 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/example_p2p_networking.md" %}
## P2P Network ## P2P Network
{% include helpers/subhead-links.md %}
### Creating A Bloom Filter ### Creating A Bloom Filter
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -160,6 +163,7 @@ b50f ....... Filter: 1010 1101 1111 0000
{% endautocrossref %} {% endautocrossref %}
### Evaluating A Bloom Filter ### Evaluating A Bloom Filter
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -234,6 +238,7 @@ MATCH FAILURE: Index 0x6 not set in 1010110111110000
{% endautocrossref %} {% endautocrossref %}
### Retrieving A MerkleBlock ### Retrieving A MerkleBlock
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -349,6 +354,7 @@ Part of the response is shown in the section below.
{% endautocrossref %} {% endautocrossref %}
### Parsing A MerkleBlock ### Parsing A MerkleBlock
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,10 +2,13 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/example_payment_processing.md" %}
## Payment Processing ## Payment Processing
{% include helpers/subhead-links.md %}
### Payment Protocol ### Payment Protocol
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -36,6 +39,7 @@ custom example URIs and payment requests for use with testnet.
{% endautocrossref %} {% endautocrossref %}
#### PaymentRequest & PaymentDetails #### PaymentRequest & PaymentDetails
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -62,6 +66,7 @@ programming languages. You will also need a copy of the PaymentRequest
{% endautocrossref %} {% endautocrossref %}
##### Initialization Code ##### Initialization Code
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -93,6 +98,7 @@ functions created by `protoc`.
{% endautocrossref %} {% endautocrossref %}
##### Configuration Code ##### Configuration Code
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -243,6 +249,7 @@ later.
{% endautocrossref %} {% endautocrossref %}
##### Code Variables ##### Code Variables
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -346,6 +353,7 @@ payment as part of a cryptographically-proven receipt.
{% endautocrossref %} {% endautocrossref %}
##### Derivable Data ##### Derivable Data
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -432,6 +440,7 @@ same hashing formula we specified in `pki_type` (sha256 in this case)
{% endautocrossref %} {% endautocrossref %}
##### Output Code ##### Output Code
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/example_testing.md" %}
## Testing Applications ## Testing Applications
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -13,6 +15,7 @@ test their applications with reduced risks and limitations.
{% endautocrossref %} {% endautocrossref %}
### Testnet ### Testnet
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -32,6 +35,7 @@ community, so please don't abuse it.
{% endautocrossref %} {% endautocrossref %}
### Regtest Mode ### Regtest Mode
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,10 +2,13 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/example_transactions.md" %}
## Transactions ## Transactions
{% include helpers/subhead-links.md %}
### Transaction Tutorial ### Transaction Tutorial
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -30,6 +33,7 @@ wallet.
#### Simple Spending #### Simple Spending
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -127,6 +131,7 @@ second) and clear the shell variable.
#### Simple Raw Transaction #### Simple Raw Transaction
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -342,6 +347,7 @@ variables.
#### Complex Raw Transaction #### Complex Raw Transaction
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -578,6 +584,7 @@ the block chain or memory pool.
#### Offline Signing #### Offline Signing
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -874,6 +881,7 @@ Remove old shell variables.
#### P2SH Multisig #### P2SH Multisig
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/guide_block_chain.md" %}
## Block Chain ## Block Chain
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -22,6 +24,7 @@ the consensus rules used by Bitcoin Core.
{% endautocrossref %} {% endautocrossref %}
### Block Chain Overview ### Block Chain Overview
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -73,6 +76,7 @@ satoshi transaction fee.
{% endautocrossref %} {% endautocrossref %}
### Proof Of Work ### Proof Of Work
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -147,6 +151,7 @@ the merkle tree.
{% endautocrossref %} {% endautocrossref %}
### Block Height And Forking ### Block Height And Forking
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -191,6 +196,7 @@ are usually referenced by the hash of their header (often with the byte order re
{% endautocrossref %} {% endautocrossref %}
### Transaction Data ### Transaction Data
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -260,6 +266,7 @@ otherwise, a valid block with the duplicates eliminated could have the same merk
{% endautocrossref %} {% endautocrossref %}
### Consensus Rule Changes ### Consensus Rule Changes
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -318,6 +325,7 @@ implemented](https://gist.github.com/gavinandresen/2355445).
{% endautocrossref %} {% endautocrossref %}
#### Detecting Forks #### Detecting Forks
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/guide_contracts.md" %}
## Contracts ## Contracts
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -25,6 +27,7 @@ page](https://en.bitcoin.it/wiki/Contracts) of the Bitcoin Wiki.
{% endautocrossref %} {% endautocrossref %}
### Escrow And Arbitration ### Escrow And Arbitration
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -125,6 +128,7 @@ service interface using HTML/JavaScript on a GNU AGPL-licensed website.
{% endautocrossref %} {% endautocrossref %}
### Micropayment Channel ### Micropayment Channel
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -202,6 +206,7 @@ all under an Apache license.
{% endautocrossref %} {% endautocrossref %}
### CoinJoin ### CoinJoin
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/guide_mining.md" %}
## Mining ## Mining
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -24,6 +26,7 @@ hard to modify. Mining today takes on two forms:
{% endautocrossref %} {% endautocrossref %}
### Solo Mining ### Solo Mining
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -55,6 +58,7 @@ block chain.
{% endautocrossref %} {% endautocrossref %}
### Pool Mining ### Pool Mining
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -97,6 +101,7 @@ different reward distribution systems based on this basic share system.
{% endautocrossref %} {% endautocrossref %}
### Block Prototypes ### Block Prototypes
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -109,6 +114,7 @@ are used to keep ASIC hashers working at maximum capacity,
{% endautocrossref %} {% endautocrossref %}
#### getwork RPC #### getwork RPC
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -122,6 +128,7 @@ discourage or disallow its use.
{% endautocrossref %} {% endautocrossref %}
#### getblocktemplate RPC #### getblocktemplate RPC
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -159,6 +166,7 @@ wants to send more transactions to the mining software.
{% endautocrossref %} {% endautocrossref %}
#### Stratum #### Stratum
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/guide_operating_modes.md" %}
## Operating Modes ## Operating Modes
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -12,6 +14,7 @@ Currently there are two primary methods of validating the block chain as a clien
{% endautocrossref %} {% endautocrossref %}
### Full Node ### Full Node
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -24,6 +27,7 @@ For a client to be fooled, an adversary would need to give a complete alternativ
{% endautocrossref %} {% endautocrossref %}
### Simplified Payment Verification (SPV) ### Simplified Payment Verification (SPV)
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -36,6 +40,7 @@ The block's depth in the block chain corresponds to the cumulative difficulty th
{% endautocrossref %} {% endautocrossref %}
#### Potential SPV Weaknesses #### Potential SPV Weaknesses
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -50,6 +55,7 @@ To mitigate the latter issue, Bloom filters have been implemented as a method of
{% endautocrossref %} {% endautocrossref %}
#### Bloom Filters #### Bloom Filters
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -68,6 +74,7 @@ Removal of elements can only be done by scrapping the bloom filter and re-creati
{% endautocrossref %} {% endautocrossref %}
#### Application Of Bloom Filters #### Application Of Bloom Filters
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -85,6 +92,7 @@ Bloom filters were standardized for use via [BIP37](https://github.com/bitcoin/b
{% endautocrossref %} {% endautocrossref %}
### Future Proposals ### Future Proposals
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/guide_p2p_network.md" %}
## P2P Network ## P2P Network
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -29,6 +31,7 @@ IP addresses.
{% endautocrossref %} {% endautocrossref %}
### Peer Discovery ### Peer Discovery
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -121,6 +124,7 @@ BitcoinJ is generated using the [makeseeds script][].
{% endautocrossref %} {% endautocrossref %}
### Connecting To Peers ### Connecting To Peers
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -137,6 +141,7 @@ In order to maintain a connection with a peer, nodes by default will send a mess
{% endautocrossref %} {% endautocrossref %}
### Block Broadcasting ### Block Broadcasting
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -147,6 +152,7 @@ New blocks are also discovered as miners publish their found blocks, and these m
{% endautocrossref %} {% endautocrossref %}
### Transaction Broadcasting ### Transaction Broadcasting
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -155,6 +161,7 @@ In order to send a transaction to a peer, an `inv` message is sent. If a `getdat
{% endautocrossref %} {% endautocrossref %}
#### Memory Pool #### Memory Pool
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -195,6 +202,7 @@ next block.
### Misbehaving Nodes ### Misbehaving Nodes
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -203,6 +211,7 @@ Take note that for both types of broadcasting, mechanisms are in place to punish
{% endautocrossref %} {% endautocrossref %}
### Alerts ### Alerts
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/guide_payment_processing.md" %}
## Payment Processing ## Payment Processing
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -32,6 +34,7 @@ using third party APIs and services.
{% endautocrossref %} {% endautocrossref %}
### Pricing Orders ### Pricing Orders
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -80,6 +83,7 @@ fluctuate a significant amount before payment is received.
{% endautocrossref %} {% endautocrossref %}
### Requesting Payments ### Requesting Payments
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -131,6 +135,7 @@ with the attacker's address.
{% endautocrossref %} {% endautocrossref %}
#### Plain Text #### Plain Text
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -167,6 +172,7 @@ some or all of the following options:
{% endautocrossref %} {% endautocrossref %}
#### bitcoin: URI #### bitcoin: URI
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -219,6 +225,7 @@ might be the case for micropayments).
{% endautocrossref %} {% endautocrossref %}
#### QR Codes #### QR Codes
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -246,6 +253,7 @@ displayed on high-resolution screens.
{% endautocrossref %} {% endautocrossref %}
#### Payment Protocol #### Payment Protocol
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -411,6 +419,7 @@ for more details.
{% endautocrossref %} {% endautocrossref %}
### Verifying Payment ### Verifying Payment
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -505,6 +514,7 @@ basis.
{% endautocrossref %} {% endautocrossref %}
### Issuing Refunds ### Issuing Refunds
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -547,6 +557,7 @@ original payment was made.
{% endautocrossref %} {% endautocrossref %}
### Disbursing Income (Limiting Forex Risk) ### Disbursing Income (Limiting Forex Risk)
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -575,6 +586,7 @@ which can lead to different results.
{% endautocrossref %} {% endautocrossref %}
#### Merge Avoidance #### Merge Avoidance
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -609,6 +621,7 @@ provided by the receiver.
{% endautocrossref %} {% endautocrossref %}
#### Last In, First Out (LIFO) #### Last In, First Out (LIFO)
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -646,6 +659,7 @@ the [Verification subsection][] above) before using them to make payments.
{% endautocrossref %} {% endautocrossref %}
#### First In, First Out (FIFO) #### First In, First Out (FIFO)
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -685,6 +699,7 @@ a bi-hourly schedule.
{% endautocrossref %} {% endautocrossref %}
### Rebilling Recurring Payments ### Rebilling Recurring Payments
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/guide_transactions.md" %}
## Transactions ## Transactions
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -156,6 +158,7 @@ transactions.
{% endautocrossref %} {% endautocrossref %}
### P2PKH Script Validation ### P2PKH Script Validation
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -248,6 +251,7 @@ problems with it).
{% endautocrossref %} {% endautocrossref %}
### P2SH Scripts ### P2SH Scripts
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -292,6 +296,7 @@ redeem script, so P2SH scripts are as secure as P2PKH pubkey hashes.
{% endautocrossref %} {% endautocrossref %}
### Standard Transactions ### Standard Transactions
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -324,6 +329,7 @@ As of Bitcoin Core 0.9, the standard pubkey script types are:
#### Pay To Public Key Hash (P2PKH) #### Pay To Public Key Hash (P2PKH)
{:.no_toc} {:.no_toc}
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -339,6 +345,7 @@ Signature script: <sig> <pubkey>
#### Pay To Script Hash (P2SH) #### Pay To Script Hash (P2SH)
{:.no_toc} {:.no_toc}
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -355,6 +362,7 @@ Signature script: <sig> [sig] [sig...] <redeemScript>
#### Multisig #### Multisig
{:.no_toc} {:.no_toc}
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -398,6 +406,7 @@ Signature script: OP_0 <A sig> <C sig> <redeemScript>
#### Pubkey #### Pubkey
{:.no_toc} {:.no_toc}
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -415,6 +424,7 @@ Signature script: <sig>
#### Null Data #### Null Data
{:.no_toc} {:.no_toc}
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -431,6 +441,7 @@ Pubkey Script: OP_RETURN <0 to 40 bytes of data>
~~~ ~~~
#### Non-Standard Transactions #### Non-Standard Transactions
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -483,6 +494,7 @@ conditions:
{% endautocrossref %} {% endautocrossref %}
### Signature Hash Types ### Signature Hash Types
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -545,6 +557,7 @@ hash types sign, including the procedure for inserting the subscript -->
{% endautocrossref %} {% endautocrossref %}
### Locktime And Sequence Number ### Locktime And Sequence Number
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -603,6 +616,7 @@ enable locktime.
{% endautocrossref %} {% endautocrossref %}
### Transaction Fees And Change ### Transaction Fees And Change
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -642,6 +656,7 @@ outputs be sent to a new P2PKH or P2SH address.
{% endautocrossref %} {% endautocrossref %}
### Avoiding Key Reuse ### Avoiding Key Reuse
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -695,6 +710,7 @@ fixed URI to which payments should be sent, please see the
{% endautocrossref %} {% endautocrossref %}
### Transaction Malleability ### Transaction Malleability
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/guide_wallets.md" %}
## Wallets ## Wallets
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -20,6 +22,7 @@ we're talking about wallet programs or wallet files.
{% endautocrossref %} {% endautocrossref %}
### Wallet Programs ### Wallet Programs
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -47,6 +50,7 @@ they control are spent.
{% endautocrossref %} {% endautocrossref %}
#### Full-Service Wallets #### Full-Service Wallets
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -80,6 +84,7 @@ key or to read the decrypted keys from memory.
#### Signing-Only Wallets #### Signing-Only Wallets
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -118,6 +123,7 @@ signing-only wallets: offline wallets and hardware wallets.
{% endautocrossref %} {% endautocrossref %}
##### Offline Wallets ##### Offline Wallets
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -171,6 +177,7 @@ device and back.
##### Hardware Wallets ##### Hardware Wallets
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -217,6 +224,7 @@ their intention to support at least one model of hardware wallet.
#### Distributing-Only Wallets #### Distributing-Only Wallets
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -250,6 +258,7 @@ Processing][devguide payment processing] section for details.
### Wallet Files ### Wallet Files
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -260,6 +269,7 @@ stored on pieces of paper.
{% endautocrossref %} {% endautocrossref %}
#### Private Key Formats #### Private Key Formats
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -270,6 +280,7 @@ Private keys are what are used to unlock satoshis from a particular address. In
{% endautocrossref %} {% endautocrossref %}
##### Wallet Import Format (WIF) ##### Wallet Import Format (WIF)
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -298,6 +309,7 @@ The process is easily reversible, using the Base58 decoding function, and removi
{% endautocrossref %} {% endautocrossref %}
##### Mini Private Key Format ##### Mini Private Key Format
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -322,6 +334,7 @@ address utility].
#### Public Key Formats #### Public Key Formats
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -380,6 +393,7 @@ help programs identify how keys should be used:
#### Hierarchical Deterministic Key Creation #### Hierarchical Deterministic Key Creation
{% include helpers/subhead-links.md %}
<!-- <!--
For consistent word ordering: For consistent word ordering:
@ -530,6 +544,7 @@ which makes them special.
{% endautocrossref %} {% endautocrossref %}
##### Hardened Keys ##### Hardened Keys
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -619,6 +634,7 @@ for the full HD protocol specification.
{% endautocrossref %} {% endautocrossref %}
##### Storing Root Seeds ##### Storing Root Seeds
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -654,6 +670,7 @@ For implementation details, please see BIP39.
#### Loose-Key Wallets #### Loose-Key Wallets
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -0,0 +1,8 @@
{% if filename %}<div class="subhead-links"
><a href="https://github.com/bitcoin/bitcoin.org/edit/master/{{filename|uri_escape}}">Edit</a>
| <a href="https://github.com/bitcoin/bitcoin.org/commits/master/{{filename|uri_escape}}">History</a>
| <a href="https://github.com/bitcoin/bitcoin.org/issues/new?body=Source%20File%3A%20{{filename|uri_escape}}%0A%0A">Report Issue</a>
| <a href="/en/development#devcommunities">Discuss</a></div>
{% else %}
{% die %}
{% endif %}

View file

@ -2,12 +2,15 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/ref_block_chain.md" %}
## Block Chain ## Block Chain
{% include helpers/subhead-links.md %}
The following subsections briefly document core block details. The following subsections briefly document core block details.
### Block Headers ### Block Headers
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -45,6 +48,7 @@ fe9f0864 ........................... Nonce
{% endautocrossref %} {% endautocrossref %}
#### Block Versions #### Block Versions
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -76,6 +80,7 @@ fe9f0864 ........................... Nonce
{% endautocrossref %} {% endautocrossref %}
#### Merkle Trees #### Merkle Trees
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -128,6 +133,7 @@ order when it's placed in the block header.
{% endautocrossref %} {% endautocrossref %}
#### Target nBits #### Target nBits
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -190,6 +196,7 @@ of blocks in regtest mode.
### Serialized Blocks ### Serialized Blocks
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,8 +2,13 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/ref_core_rpc_intro.md" %}
## Bitcoin Core APIs
{% include helpers/subhead-links.md %}
### Hash Byte Order ### Hash Byte Order
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -91,3 +96,15 @@ print "System byte order:", byteorder
print "Internal-Byte-Order Hash: ", hash.encode('hex_codec') print "Internal-Byte-Order Hash: ", hash.encode('hex_codec')
print "RPC-Byte-Order Hash: ", hash[::-1].encode('hex_codec') print "RPC-Byte-Order Hash: ", hash[::-1].encode('hex_codec')
{% endhighlight %} {% endhighlight %}
### Remote Procedure Calls (RPCs)
{% include helpers/subhead-links.md %}
**Warning:** the block chain and memory pool can include arbitrary data
which several of the commands below will return in hex format. If you
convert this data to another format in an executable context, it could
be used in an exploit. For example, displaying an output script as
ASCII text in a webpage could add arbitrary Javascript to that page and
create a cross-site scripting (XSS) exploit. To avoid problems, please
treat block chain and memory pool data as an arbitrary input from an
untrusted source.

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/ref_core_rpcs-abcdefg.md" %}
#### addmultisigaddress #### addmultisigaddress
{% include helpers/subhead-links.md %}
~~~ ~~~
addmultisigaddress <num required> <addresses|pubkeys> [account] addmultisigaddress <num required> <addresses|pubkeys> [account]
@ -113,6 +115,7 @@ Result:
#### addnode #### addnode
{% include helpers/subhead-links.md %}
~~~ ~~~
addnode <ip address>:<port> <add|remove|onetry> addnode <ip address>:<port> <add|remove|onetry>
@ -169,6 +172,7 @@ Try connecting to the following node.
#### backupwallet #### backupwallet
{% include helpers/subhead-links.md %}
~~~ ~~~
backupwallet <filename|directory> backupwallet <filename|directory>
@ -208,6 +212,7 @@ written, an error will be returned.
#### createmultisig #### createmultisig
{% include helpers/subhead-links.md %}
~~~ ~~~
createmultisig <num required> <addresses|pubkeys> createmultisig <num required> <addresses|pubkeys>
@ -307,6 +312,7 @@ Result (redeemScript wrapped):
#### createrawtransaction #### createrawtransaction
{% include helpers/subhead-links.md %}
~~~ ~~~
createrawtransaction <previous output(s)> <new output(s)> createrawtransaction <previous output(s)> <new output(s)>
@ -391,6 +397,7 @@ Result:
#### decoderawtransaction #### decoderawtransaction
{% include helpers/subhead-links.md %}
~~~ ~~~
decoderawtransaction <hexstring> decoderawtransaction <hexstring>
@ -593,6 +600,7 @@ Result:
~~~ ~~~
#### decodescript #### decodescript
{% include helpers/subhead-links.md %}
~~~ ~~~
decodescript <redeemScript> decodescript <redeemScript>
@ -676,6 +684,7 @@ Result:
~~~ ~~~
#### dumpprivkey #### dumpprivkey
{% include helpers/subhead-links.md %}
~~~ ~~~
dumpprivkey <address> dumpprivkey <address>
@ -721,6 +730,7 @@ cTVNtBK7mBi2yc9syEnwbiUpnpGJKohDWzXMeF4tGKAQ7wvomr95
#### dumpwallet #### dumpwallet
{% include helpers/subhead-links.md %}
~~~ ~~~
dumpwallet <filename> dumpwallet <filename>
@ -782,6 +792,7 @@ cNCD679B4xi17jb4XeLpbRbZCbYUugptD7dCtUTfSU4KPuK2DyKT 2014-02-05T16:58:41Z reserv
#### encryptwallet #### encryptwallet
{% include helpers/subhead-links.md %}
~~~ ~~~
encryptwallet <passphrase> encryptwallet <passphrase>
@ -837,6 +848,7 @@ wallet. The keypool has been flushed, you need to make a new backup.
#### getaccount #### getaccount
{% include helpers/subhead-links.md %}
~~~ ~~~
getaccount <address> getaccount <address>
@ -881,6 +893,7 @@ doc test
#### getaccountaddress #### getaccountaddress
{% include helpers/subhead-links.md %}
~~~ ~~~
getaccountaddress "account" getaccountaddress "account"
@ -935,6 +948,7 @@ msQyFNYHkFUo4PG3puJBbpesvRCyRQax7r
~~~ ~~~
#### getaddednodeinfo #### getaddednodeinfo
{% include helpers/subhead-links.md %}
~~~ ~~~
getaddednodeinfo <true|false> [node] getaddednodeinfo <true|false> [node]
@ -1017,6 +1031,7 @@ Result:
~~~ ~~~
#### getaddressesbyaccount #### getaddressesbyaccount
{% include helpers/subhead-links.md %}
~~~ ~~~
getaddressesbyaccount <account> getaddressesbyaccount <account>
@ -1073,6 +1088,7 @@ Result:
#### getbalance #### getbalance
{% include helpers/subhead-links.md %}
~~~ ~~~
getbalance [account] [confirmations] getbalance [account] [confirmations]
@ -1153,6 +1169,7 @@ for the default account and a balance for all accounts.
#### getbestblockhash #### getbestblockhash
{% include helpers/subhead-links.md %}
~~~ ~~~
getbestblockhash getbestblockhash
@ -1186,6 +1203,7 @@ Result:
#### getblock #### getblock
{% include helpers/subhead-links.md %}
~~~ ~~~
getblock <hash> [true|false] getblock <hash> [true|false]
@ -1336,6 +1354,7 @@ Result:
#### getblockchaininfo #### getblockchaininfo
{% include helpers/subhead-links.md %}
~~~ ~~~
getblockchaininfo getblockchaininfo
@ -1396,6 +1415,7 @@ Result:
#### getblockcount #### getblockcount
{% include helpers/subhead-links.md %}
~~~ ~~~
getblockcount getblockcount
@ -1425,6 +1445,7 @@ Result:
#### getblockhash #### getblockhash
{% include helpers/subhead-links.md %}
~~~ ~~~
getblockhash <height> getblockhash <height>
@ -1470,6 +1491,7 @@ Return:
#### getblocktemplate #### getblocktemplate
{% include helpers/subhead-links.md %}
~~~ ~~~
getblocktemplate [client capabilities] getblocktemplate [client capabilities]
@ -1784,6 +1806,7 @@ Result (long lines have been wrapped (\\) and some data has been omitted
#### getconnectioncount #### getconnectioncount
{% include helpers/subhead-links.md %}
~~~ ~~~
getconnectioncount getconnectioncount
@ -1819,6 +1842,7 @@ Result:
#### getdifficulty #### getdifficulty
{% include helpers/subhead-links.md %}
~~~ ~~~
getdifficulty getdifficulty
@ -1849,6 +1873,7 @@ Result:
#### getgenerate #### getgenerate
{% include helpers/subhead-links.md %}
~~~ ~~~
getgenerate getgenerate
@ -1884,6 +1909,7 @@ false
#### gethashespersec #### gethashespersec
{% include helpers/subhead-links.md %}
~~~ ~~~
gethashespersec gethashespersec
@ -1921,6 +1947,7 @@ Result:
#### getinfo #### getinfo
{% include helpers/subhead-links.md %}
~~~ ~~~
getinfo getinfo
@ -2001,6 +2028,7 @@ Result:
#### getmininginfo #### getmininginfo
{% include helpers/subhead-links.md %}
~~~ ~~~
getmininginfo getmininginfo
@ -2067,6 +2095,7 @@ Result:
#### getnettotals #### getnettotals
{% include helpers/subhead-links.md %}
~~~ ~~~
getnettotals getnettotals
@ -2116,6 +2145,7 @@ Result:
#### getnetworkhashps #### getnetworkhashps
{% include helpers/subhead-links.md %}
~~~ ~~~
getnetworkhashps [blocks] [height] getnetworkhashps [blocks] [height]
@ -2176,6 +2206,7 @@ Result:
#### getnetworkinfo #### getnetworkinfo
{% include helpers/subhead-links.md %}
~~~ ~~~
getnetworkinfo getnetworkinfo
@ -2245,6 +2276,7 @@ Result:
#### getnewaddress #### getnewaddress
{% include helpers/subhead-links.md %}
~~~ ~~~
getnewaddress [account] getnewaddress [account]
@ -2298,6 +2330,7 @@ mft61jjkmiEJwJ7Zw3r1h344D6aL1xwhma
#### getpeerinfo #### getpeerinfo
{% include helpers/subhead-links.md %}
~~~ ~~~
getpeerinfo getpeerinfo
@ -2387,6 +2420,7 @@ Result (only first object shown):
#### getrawchangeaddress #### getrawchangeaddress
{% include helpers/subhead-links.md %}
~~~ ~~~
getrawchangeaddress getrawchangeaddress
@ -2425,6 +2459,7 @@ mnycUc8FRjJodfKhaj9QBZs2PwxxYoWqaK
#### getrawmempool #### getrawmempool
{% include helpers/subhead-links.md %}
~~~ ~~~
getrawmempool [true|false] getrawmempool [true|false]
@ -2541,6 +2576,7 @@ Verbose output (*true*):
~~~ ~~~
#### getrawtransaction #### getrawtransaction
{% include helpers/subhead-links.md %}
~~~ ~~~
getrawtransaction <txid> [true|false] getrawtransaction <txid> [true|false]
@ -2720,6 +2756,7 @@ Result:
#### getreceivedbyaccount #### getreceivedbyaccount
{% include helpers/subhead-links.md %}
~~~ ~~~
getreceivedbyaccount <account> <confirmations> getreceivedbyaccount <account> <confirmations>
@ -2779,6 +2816,7 @@ Result:
#### getreceivedbyaddress #### getreceivedbyaddress
{% include helpers/subhead-links.md %}
~~~ ~~~
getreceivedbyaddress <address> [confirmations] getreceivedbyaddress <address> [confirmations]
@ -2840,6 +2878,7 @@ Result:
#### gettransaction #### gettransaction
{% include helpers/subhead-links.md %}
~~~ ~~~
gettransaction <txid> gettransaction <txid>
@ -2955,6 +2994,7 @@ Result:
#### gettxout #### gettxout
{% include helpers/subhead-links.md %}
~~~ ~~~
gettxout <txid> <output index number> [true|false] gettxout <txid> <output index number> [true|false]
@ -3068,6 +3108,7 @@ Result:
#### gettxoutsetinfo #### gettxoutsetinfo
{% include helpers/subhead-links.md %}
~~~ ~~~
gettxoutsetinfo gettxoutsetinfo
@ -3129,6 +3170,7 @@ Result:
#### getunconfirmedbalance #### getunconfirmedbalance
{% include helpers/subhead-links.md %}
~~~ ~~~
getunconfirmedbalance getunconfirmedbalance
@ -3162,6 +3204,7 @@ Result (no satoshis unconfirmed):
#### getwalletinfo #### getwalletinfo
{% include helpers/subhead-links.md %}
~~~ ~~~
getwalletinfo getwalletinfo
@ -3217,6 +3260,7 @@ Result:
#### getwork #### getwork
{% include helpers/subhead-links.md %}
~~~ ~~~
getwork [data] getwork [data]

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/ref_core_rpcs-hijklmn.md" %}
#### help #### help
{% include helpers/subhead-links.md %}
~~~ ~~~
help [RPC] help [RPC]
@ -45,6 +47,7 @@ Command to get a description similar to this subsection:
~~~ ~~~
#### importprivkey #### importprivkey
{% include helpers/subhead-links.md %}
~~~ ~~~
importprivkey <private key> [label] [rescan] importprivkey <private key> [label] [rescan]
@ -113,6 +116,7 @@ entire block chain:
(Success: no result generated.) (Success: no result generated.)
#### importwallet #### importwallet
{% include helpers/subhead-links.md %}
~~~ ~~~
importwallet <filename> importwallet <filename>
@ -162,6 +166,7 @@ Import the file shown in the example subsection of `dumpwallet`.
#### keypoolrefill #### keypoolrefill
{% include helpers/subhead-links.md %}
~~~ ~~~
keypoolrefill [size] keypoolrefill [size]
@ -205,6 +210,7 @@ Generate one extra key than the default:
#### listaccounts #### listaccounts
{% include helpers/subhead-links.md %}
~~~ ~~~
listaccounts [minconf] listaccounts [minconf]
@ -268,6 +274,7 @@ Result:
#### listaddressgroupings #### listaddressgroupings
{% include helpers/subhead-links.md %}
~~~ ~~~
listaddressgroupings listaddressgroupings
@ -344,6 +351,7 @@ Result (truncated):
#### listlockunspent #### listlockunspent
{% include helpers/subhead-links.md %}
~~~ ~~~
listlockunspent listlockunspent
@ -397,6 +405,7 @@ Result:
#### listreceivedbyaccount #### listreceivedbyaccount
{% include helpers/subhead-links.md %}
~~~ ~~~
listreceivedbyaccount [confirmations] [true|false] listreceivedbyaccount [confirmations] [true|false]
@ -481,6 +490,7 @@ Result:
~~~ ~~~
#### listreceivedbyaddress #### listreceivedbyaddress
{% include helpers/subhead-links.md %}
~~~ ~~~
listreceivedbyaddress [confirmations] [true|false] listreceivedbyaddress [confirmations] [true|false]
@ -568,6 +578,7 @@ Result (truncated after first entry):
~~~ ~~~
#### listsinceblock #### listsinceblock
{% include helpers/subhead-links.md %}
~~~ ~~~
listsinceblock [block hash] [block depth] listsinceblock [block hash] [block depth]
@ -692,6 +703,7 @@ Result (some array objects removed):
~~~ ~~~
#### listtransactions #### listtransactions
{% include helpers/subhead-links.md %}
~~~ ~~~
listtransactions [account] [count] [from] listtransactions [account] [count] [from]
@ -779,6 +791,7 @@ Result:
#### listunspent #### listunspent
{% include helpers/subhead-links.md %}
~~~ ~~~
listunspent [minconf] [maxconf] [addresses] listunspent [minconf] [maxconf] [addresses]
@ -900,6 +913,7 @@ Result:
#### lockunspent #### lockunspent
{% include helpers/subhead-links.md %}
~~~ ~~~
lockunspent <true|false> <outputs> lockunspent <true|false> <outputs>
@ -1011,6 +1025,7 @@ true
#### move #### move
{% include helpers/subhead-links.md %}
~~~ ~~~
move <account> <account> <amount> [minconf] [comment] move <account> <account> <amount> [minconf] [comment]

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/ref_core_rpcs-opqrst.md" %}
#### ping {#ping-rpc} #### ping {#ping-rpc}
{% include helpers/subhead-links.md %}
~~~ ~~~
ping ping
@ -28,6 +30,7 @@ bitcoin-cli -testnet ping
#### sendfrom #### sendfrom
{% include helpers/subhead-links.md %}
~~~ ~~~
sendfrom <account> <address> <amount> [confirmations] [comment] [label] sendfrom <account> <address> <amount> [confirmations] [comment] [label]
@ -131,6 +134,7 @@ ca7cb6a5ffcc2f21036879493db4530c0ce9b5bff9648f9a3be46e2dfc8e0166
#### sendmany #### sendmany
{% include helpers/subhead-links.md %}
~~~ ~~~
sendmany <account> <addresses & amounts> [confirmations] [memo] sendmany <account> <addresses & amounts> [confirmations] [memo]
@ -223,6 +227,7 @@ ef7c0cbf6ba5af68d2ea239bba709b26ff7b0b669839a63bb01c2cb8e8de481e
#### sendrawtransaction #### sendrawtransaction
{% include helpers/subhead-links.md %}
~~~ ~~~
sendrawtransaction <hex> [true|false] sendrawtransaction <hex> [true|false]
@ -348,6 +353,7 @@ Result (success):
#### sendtoaddress #### sendtoaddress
{% include helpers/subhead-links.md %}
~~~ ~~~
sendtoaddress <address> <amount> <memo> <label> sendtoaddress <address> <amount> <memo> <label>
@ -422,6 +428,7 @@ example" and the label "Nemo From Example.com":
#### setaccount #### setaccount
{% include helpers/subhead-links.md %}
~~~ ~~~
setaccount <address> <account> setaccount <address> <account>
@ -476,6 +483,7 @@ Put the address indicated below in the "doc test" account.
#### setgenerate #### setgenerate
{% include helpers/subhead-links.md %}
~~~ ~~~
setgenerate <true|false> [processors] setgenerate <true|false> [processors]
@ -549,6 +557,7 @@ coinbase transaction of the first block generated):
#### settxfee #### settxfee
{% include helpers/subhead-links.md %}
~~~ ~~~
settxfee amount settxfee amount
@ -598,6 +607,7 @@ true
#### signmessage #### signmessage
{% include helpers/subhead-links.md %}
~~~ ~~~
signmessage <address> <message> signmessage <address> <message>
@ -657,6 +667,7 @@ IOGreqb/7UgD1ifcojESd32ZJgH5RGzUXitmbl6ZbdenSmitipWoLSi73TskmLY7zhcD662bTw3RHoYQ
#### signrawtransaction #### signrawtransaction
{% include helpers/subhead-links.md %}
~~~ ~~~
signrawtransaction <raw transaction hex> [previous transactions] [private keys] [sighashtype] signrawtransaction <raw transaction hex> [previous transactions] [private keys] [sighashtype]
@ -794,6 +805,7 @@ Result:
#### stop #### stop
{% include helpers/subhead-links.md %}
~~~ ~~~
stop stop
@ -814,6 +826,7 @@ bitcoin-cli -testnet stop
#### submitblock #### submitblock
{% include helpers/subhead-links.md %}
~~~ ~~~
submitblock <new block> [extra parameters] submitblock <new block> [extra parameters]

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/ref_core_rpcs-uvwxyz.md" %}
#### validateaddress #### validateaddress
{% include helpers/subhead-links.md %}
~~~ ~~~
validateaddress <address> validateaddress <address>
@ -78,6 +80,7 @@ Result:
#### verifychain #### verifychain
{% include helpers/subhead-links.md %}
~~~ ~~~
verifychain [throughness] [blocks] verifychain [throughness] [blocks]
@ -134,6 +137,7 @@ true
#### verifymessage #### verifymessage
{% include helpers/subhead-links.md %}
~~~ ~~~
verifymessage <address> <signature> <message> verifymessage <address> <signature> <message>
@ -204,6 +208,7 @@ true
#### walletlock #### walletlock
{% include helpers/subhead-links.md %}
~~~ ~~~
walletlock walletlock
@ -230,6 +235,7 @@ No return printed on success.
#### walletpassphrase #### walletpassphrase
{% include helpers/subhead-links.md %}
walletpassphrase <passphrase> <seconds> walletpassphrase <passphrase> <seconds>
@ -271,6 +277,7 @@ Unlock the wallet for 10 minutes (the passphrase is "test"):
#### walletpassphrasechange #### walletpassphrasechange
{% include helpers/subhead-links.md %}
~~~ ~~~
walletpassphrasechange <old passphrase> <new passphrase> walletpassphrasechange <old passphrase> <new passphrase>

View file

@ -2,8 +2,10 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/ref_p2p_networking.md" %}
## P2P Network ## P2P Network
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -21,6 +23,7 @@ integers mentioned in this section are transmitted in little-endian order.
{% endautocrossref %} {% endautocrossref %}
### Constants And Defaults ### Constants And Defaults
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -52,6 +55,7 @@ and testnet.
{% endautocrossref %} {% endautocrossref %}
### Protocol Versions ### Protocol Versions
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -75,6 +79,7 @@ please [open an issue][docs issue].)
{% endautocrossref %} {% endautocrossref %}
### Message Headers ### Message Headers
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -102,6 +107,7 @@ f9beb4d9 ................... Start string: Mainnet
{% endautocrossref %} {% endautocrossref %}
### Data Messages ### Data Messages
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -135,6 +141,7 @@ one of these unknown types.
{% endautocrossref %} {% endautocrossref %}
#### Block #### Block
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -148,6 +155,7 @@ It is sent in reply to a `getdata` message which had an inventory type of
{% endautocrossref %} {% endautocrossref %}
#### GetBlocks #### GetBlocks
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -199,6 +207,7 @@ d39f608a7775b537729884d4e6633bb2
{% endautocrossref %} {% endautocrossref %}
#### GetData #### GetData
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -222,6 +231,7 @@ identical to the `inv` message; only the message header differs.
{% endautocrossref %} {% endautocrossref %}
#### GetHeaders #### GetHeaders
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -236,6 +246,7 @@ will include no more than 500 block header hashes; the `headers` reply
to the `getheaders` message will include as many as 2,000 block headers. to the `getheaders` message will include as many as 2,000 block headers.
#### Headers #### Headers
{% include helpers/subhead-links.md %}
The `headers` message sends one or more block headers to a node which The `headers` message sends one or more block headers to a node which
previously requested certain headers with a `getheaders` message. previously requested certain headers with a `getheaders` message.
@ -266,6 +277,7 @@ fe9f0864 ........................... Nonce
{% endautocrossref %} {% endautocrossref %}
#### Inv #### Inv
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -301,6 +313,7 @@ a055aaf1d872e94ae85e9817b2c68dc7 ... Hash (TXID)
{% endautocrossref %} {% endautocrossref %}
#### MemPool #### MemPool
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -349,6 +362,7 @@ section][message header] for an example of a message without a payload.
{% endautocrossref %} {% endautocrossref %}
#### MerkleBlock #### MerkleBlock
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -414,6 +428,7 @@ a `tx` message.
##### Parsing A MerkleBlock Message ##### Parsing A MerkleBlock Message
{:.no_toc} {:.no_toc}
{% include helpers/subhead-links.md %}
As seen in the annotated hexdump above, the `merkleblock` message As seen in the annotated hexdump above, the `merkleblock` message
provides three special data types: a transaction count, a list of provides three special data types: a transaction count, a list of
@ -486,6 +501,7 @@ example].
##### Creating A MerkleBlock Message ##### Creating A MerkleBlock Message
{:.no_toc} {:.no_toc}
{% include helpers/subhead-links.md %}
It's easier to understand how to create a `merkleblock` message after It's easier to understand how to create a `merkleblock` message after
you understand how to parse an already-created message, so we recommend you understand how to parse an already-created message, so we recommend
@ -532,6 +548,7 @@ template near the beginning of this subsection.
{% endautocrossref %} {% endautocrossref %}
#### NotFound #### NotFound
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -550,6 +567,7 @@ identical to the `inv` message; only the message header differs.
{% endautocrossref %} {% endautocrossref %}
#### Tx #### Tx
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -579,6 +597,7 @@ transaction section][raw format].
### Control Messages ### Control Messages
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -597,6 +616,7 @@ information about Tor, please [open an issue][docs issue].
{% endautocrossref %} {% endautocrossref %}
#### Addr #### Addr
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -645,6 +665,7 @@ d91f4854 ........................... Epoch time: 1414012889
#### Alert #### Alert
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -750,6 +771,7 @@ alert.cpp] source code for the parameters of this message.
#### FilterAdd #### FilterAdd
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -789,6 +811,7 @@ fdacf9b3eb077412e7a968d2e4f11b9a
{% endautocrossref %} {% endautocrossref %}
#### FilterClear #### FilterClear
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -810,6 +833,7 @@ section][message header] for an example of a message without a payload.
#### FilterLoad #### FilterLoad
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -1047,6 +1071,7 @@ filter when the rate gets too high.
{% endautocrossref %} {% endautocrossref %}
#### GetAddr #### GetAddr
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -1063,6 +1088,7 @@ section][message header] for an example of a message without a payload.
#### Ping #### Ping
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -1090,6 +1116,7 @@ header has been omitted.)
{% endautocrossref %} {% endautocrossref %}
#### Pong #### Pong
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -1109,6 +1136,7 @@ only the message header differs.
{% endautocrossref %} {% endautocrossref %}
#### Reject #### Reject
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -1164,6 +1192,7 @@ header has been omitted.)
{% endautocrossref %} {% endautocrossref %}
#### VerAck #### VerAck
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -1177,6 +1206,7 @@ section][message header].
#### Version #### Version
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,12 +2,15 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/ref_transactions.md" %}
## Transactions ## Transactions
{% include helpers/subhead-links.md %}
The following subsections briefly document core transaction details. The following subsections briefly document core transaction details.
#### OP Codes #### OP Codes
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -124,6 +127,7 @@ Failure, aborted: two signature matches required but none found so
{% endautocrossref %} {% endautocrossref %}
#### Address Conversion #### Address Conversion
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -193,6 +197,7 @@ against the extracted checksum, and then remove the version byte.
{% endautocrossref %} {% endautocrossref %}
#### Raw Transaction Format #### Raw Transaction Format
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -230,6 +235,7 @@ the [CompactSize section][CompactSize unsigned integer].
##### TxIn: A Transaction Input (Non-Coinbase) {#txin} ##### TxIn: A Transaction Input (Non-Coinbase) {#txin}
{:.no_toc} {:.no_toc}
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -247,6 +253,7 @@ Each non-coinbase input spends an outpoint from a previous transaction.
##### Outpoint: The Specific Part Of A Specific Output {#outpoint} ##### Outpoint: The Specific Part Of A Specific Output {#outpoint}
{:.no_toc} {:.no_toc}
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -263,6 +270,7 @@ specific output.
##### TxOut: A Transaction Output {#txout} ##### TxOut: A Transaction Output {#txout}
{:.no_toc} {:.no_toc}
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -320,6 +328,7 @@ to a new pay-to-pubkey-hash (P2PKH) output.
##### Coinbase Input: The Input Of The First Transaction In A Block {#coinbase} ##### Coinbase Input: The Input Of The First Transaction In A Block {#coinbase}
{:.no_toc} {:.no_toc}
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}
@ -376,6 +385,7 @@ An itemized coinbase transaction:
{% endautocrossref %} {% endautocrossref %}
### CompactSize Unsigned Integers ### CompactSize Unsigned Integers
{% include helpers/subhead-links.md %}
{% autocrossref %} {% autocrossref %}

View file

@ -2,12 +2,16 @@
This file is licensed under the MIT License (MIT) available on This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT. http://opensource.org/licenses/MIT.
{% endcomment %} {% endcomment %}
{% assign filename="_includes/ref_wallets.md" %}
## Wallets ## Wallets
{% include helpers/subhead-links.md %}
### Deterministic Wallet Formats ### Deterministic Wallet Formats
<!-- no subhead-links here -->
#### Type 1: Single Chain Wallets #### Type 1: Single Chain Wallets
<!-- no subhead-links here -->
{% autocrossref %} {% autocrossref %}
@ -19,6 +23,7 @@ sharing is extremely limited.
{% endautocrossref %} {% endautocrossref %}
#### Type 2: Hierarchical Deterministic (HD) Wallets #### Type 2: Hierarchical Deterministic (HD) Wallets
<!-- no subhead-links here -->
{% autocrossref %} {% autocrossref %}

View file

@ -766,18 +766,26 @@ table td,table th{
.toccontent h2{ .toccontent h2{
font-size:150%; font-size:150%;
color:#383838; color:#383838;
margin-top: 30px;
margin-bottom: 0;
} }
.toccontent h3{ .toccontent h3{
font-size:130%; font-size:130%;
color:#383838; color:#383838;
margin-top: 30px;
margin-bottom: 0;
} }
.toccontent h4{ .toccontent h4{
font-size:110%; font-size:110%;
color:#383838; color:#383838;
margin-top: 30px;
margin-bottom: 0;
} }
.toccontent h5,.toccontent h6{ .toccontent h5,.toccontent h6{
font-size:100%; font-size:100%;
color:#383838; color:#383838;
margin-top: 30px;
margin-bottom: 0;
} }
.toccontent img{ .toccontent img{
max-width:100%; max-width:100%;
@ -797,6 +805,12 @@ table td,table th{
.toccontent:hover a.auto-link:visited:hover{ .toccontent:hover a.auto-link:visited:hover{
color:#63a4e1; color:#63a4e1;
} }
.toccontent .subhead-links{
visibility: hidden;
}
.toccontent:hover .subhead-links{
visibility: visible;
}
.toccontent a:link.term, .toccontent a:link.term,
.toccontent a:visited.term, .toccontent a:visited.term,
.toccontent:hover a.auto-link.term:link, .toccontent:hover a.auto-link.term:link,

29
_plugins/liquid-die.rb Normal file
View file

@ -0,0 +1,29 @@
# This file is licensed under the MIT License (MIT) available on
# http://opensource.org/licenses/MIT.
## liquid-die.rb terminates site compilation in failure. This can allow
## us to avoid updating the site HTML with a broken layout
## Example:
## {% if some_variable_is_set %}
## ...content...
## {% else %}
## {% die %}
## {% endif %}
module Jekyll
class LiquidDie < Liquid::Tag
def initialize(tag_name, text, tokens)
super
end
def render(context)
abort("Liquid die tag called. Dying...")
end
end
end
Liquid::Template.register_tag('die', Jekyll::LiquidDie)

View file

@ -44,28 +44,10 @@ title: "Developer Reference - Bitcoin"
{% include ref_p2p_networking.md %} {% include ref_p2p_networking.md %}
## Bitcoin Core APIs
<!-- TODO, Relevant links:
-- * https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list
-- * https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)
-->
<div class="sourcefile" data-sourcefile="ref_core_rpc_intro.md"></div> <div class="sourcefile" data-sourcefile="ref_core_rpc_intro.md"></div>
{% include ref_core_rpc_intro.md %} {% include ref_core_rpc_intro.md %}
### Remote Procedure Calls (RPCs)
**Warning:** the block chain and memory pool can include arbitrary data
which several of the commands below will return in hex format. If you
convert this data to another format in an executable context, it could
be used in an exploit. For example, displaying an output script as
ASCII text in a webpage could add arbitrary Javascript to that page and
create a cross-site scripting (XSS) exploit. To avoid problems, please
treat block chain and memory pool data as an arbitrary input from an
untrusted source.
<div class="sourcefile" data-sourcefile="ref_core_rpcs-abcdefg.md"></div> <div class="sourcefile" data-sourcefile="ref_core_rpcs-abcdefg.md"></div>
{% include ref_core_rpcs-abcdefg.md %} {% include ref_core_rpcs-abcdefg.md %}