Skip to content

Commit

Permalink
Dev Docs: Describe Almost All Remaining P2P Network Messages
Browse files Browse the repository at this point in the history
* 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.
  • Loading branch information
harding committed Nov 17, 2014
1 parent e29104f commit a149ae1
Show file tree
Hide file tree
Showing 8 changed files with 648 additions and 17 deletions.
9 changes: 8 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ pre-build-tests-fast: check-for-non-ascii-urls

## 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 \
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

## All pre-build tests, including those which might take multiple minutes
pre-build-tests: pre-build-tests-fast
Expand Down Expand Up @@ -107,3 +108,9 @@ check-for-non-ascii-urls:
; do grep -H . $$file | sed -n -e '/url:/,$$p' \
| grep -P '[^\x00-\x7f]|[a-z\-] [a-z\-]' \
; done | eval $(ERROR_ON_OUTPUT)

check-for-broken-kramdown-tables:
## Kramdown tables are easy to break. When broken, they produce a
## paragraph starting with a | (pipe). I can't imagine any reason we'd
## have a regular paragraph starting with a pipe, so error on any occurences.
$S grep '<p>|' _site/en/developer-* | eval $(ERROR_ON_OUTPUT)
50 changes: 48 additions & 2 deletions _autocrossref.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,12 @@
## To prevent a ref for term, use: "term: DO NOT AUTOCROSSREF"

51 percent attack:
'`addr`': addr message
'`addr` message': addr message
'`addr` messages': addr message
address:
addresses: address
'`alert` message': alert message
'`alert` messages': alert message
'`amount`': pp amount
base-58: base58check
base58: base58check
Expand All @@ -26,6 +29,7 @@ block-chain: block chain
block header:
block height:
'`block` message': block message
'`block` messages': block message
block reward:
block time:
block version:
Expand Down Expand Up @@ -79,17 +83,27 @@ extended keys: extended key
extended private key:
extended public key:
fiat:
'`filteradd` message': filteradd message
'`filteradd` messages': filteradd message
'`filterclear` message': filterclear message
'`filterclear` messages': filterclear message
fork:
forks: fork
genesis block:
'`getblocks` message': getblocks message
'`getblocks` messages': getblocks message
'`getdata` message': getdata message
'`getdata` messages': getdata message
'`getheaders` message': getheaders message
genesis block:
'`getheaders` messages': getheaders message
'`getaddr` message': getaddr message
'`getaddr` messages': getaddr message
hard fork:
hard forks: hard fork
hardened extended private key:
HD protocol:
'`headers` message': headers message
'`headers` messages': headers message
high-priority transaction: high-priority transactions
high-priority transactions:
inputs: input
Expand All @@ -98,8 +112,13 @@ intermediate certificate:
intermediate certificates: intermediate certificate
internal byte order:
'`inv` message': inv message
'`inv` messages': inv message
IP address: DO NOT AUTOCROSSREF
IP addresses: DO NOT AUTOCROSSREF
IPv4 address: DO NOT AUTOCROSSREF
IPv4 addresses: DO NOT AUTOCROSSREF
IPv6 address: DO NOT AUTOCROSSREF
IPv6 addresses: DO NOT AUTOCROSSREF
inventories: inventory
inventory:
key index:
Expand All @@ -115,12 +134,15 @@ master chain code:
master private key:
'`memo`': pp memo
'`mempool` message': mempool message
'`mempool` messages': mempool message
'`message`': message
message header:
message headers: message header
message payload:
'`merchant_data`': pp merchant data
merkleblock: merkleblock message
'`merkleblock` message': merkleblock message
'`merkleblock` messages': merkleblock message
merkle root:
merkle tree:
merge:
Expand All @@ -141,6 +163,7 @@ multisig:
nbits:
network:
'`notfound` message': notfound message
'`notfound` messages': notfound message
null data:
'`op_checkmultisig`': op_checkmultisig
'`op_checksig`': op_checksig
Expand Down Expand Up @@ -172,15 +195,23 @@ peer:
peers: peer
peer-to-peer: network
peer-to-peer network: network
'`ping` message': ping message
'`ping` messages': ping message
pki:
'`pki_type`': pp pki type
'`point()`': point function
'`pong` message': pong message
'`pong` messages': pong message
private key:
private keys: private key
proof of work:
proof-of-work: proof of work
protocol buffer: protobuf
protocol buffers: protobuf
protocol version 106: section protocol versions
protocol version 209: section protocol versions
protocol version 311: section protocol versions
protocol version 31402: section protocol versions
protocol version 60000: section protocol versions
protocol version 60001: section protocol versions
protocol version 60002: section protocol versions
Expand Down Expand Up @@ -208,6 +239,8 @@ refund:
refunds: refund
regression test mode:
regtest: regression test mode
'`reject` message': reject message
'`reject` messages': reject message
root certificate:
root seed:
RPCs: rpc
Expand Down Expand Up @@ -253,6 +286,7 @@ transaction object format:
transaction version number:
'`transactions`': pp transactions
'`tx` message': tx message
'`tx` messages': tx message
txid:
txids: txid
unconfirmed:
Expand All @@ -263,22 +297,30 @@ unique address: unique addresses
unique addresses:
utxo:
utxos: utxo
'`verack` message': verack message
'`verack` messages': verack message
verified payments:
version 2 blocks: v2 block
'`version` message': version message
'`version` messages': version message
wallet:
wallets: wallet
wallet import format:
x.509: x509
X509Certificates:

## BIPs in numerical order; don't use padding zeros (e.g. BIP70 not BIP0070)
BIP14:
BIP16:
BIP21:
BIP30:
BIP31:
BIP32:
BIP34:
BIP37:
BIP39:
BIP50:
BIP61:
BIP62:
BIP70:
BIP71:
Expand Down Expand Up @@ -364,6 +406,10 @@ CVE-2012-2459:
'`walletpassphrasechange`': rpc walletpassphrasechange

## Versions of Bitcoin Core (linked to Bitcoin.org release notes)
Bitcoin Core 0.1.6:
Bitcoin Core 0.2.9:
Bitcoin Core 0.3.11:
Bitcoin Core 0.3.15:
Bitcoin Core 0.6.0:
Bitcoin Core 0.6.1:
Bitcoin Core 0.7.0:
Expand Down
2 changes: 1 addition & 1 deletion _includes/guide_p2p_network.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ blocks. For this reason, programs should not rely on DNS seeds
exclusively.

Once a program has connected to the network, its peers can begin to send
it [`addr`][addr message]{:#term-addr-message}{:.term}
it `addr`
(address<!--noref-->) messages with the IP addresses and port numbers of
other peers on the network, providing a fully decentralized method of
peer discovery. Bitcoin Core keeps a record of known peers in a
Expand Down
Loading

0 comments on commit a149ae1

Please sign in to comment.