Skip to content

Commit 05ab6c7

Browse files
committed
added headers to each page which allow for better page-linking, added two new site-wide replace defs and updated their usage in corresponding pages
1 parent dd08d1f commit 05ab6c7

22 files changed

+49
-10
lines changed

conf.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,8 @@
194194
#rst_prolog = ''
195195
rst_epilog = """
196196
.. reference aliases
197-
.. |network| replace:: :ref:`network<p2p-network-header>`
197+
.. |network| replace:: :ref:`network<dev-p2p-network-header>`
198+
.. |peer-to-peer network| replace:: :ref:`peer-to-peer network<dev-p2p-network-header>`
198199
199200
.. frequently-used terms with links
200201
.. |ECDSA| replace:: `ECDSA <https://en.wikipedia.org/wiki/Elliptic_Curve_DSA>`__

devguide/block_chain.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. _block-chain-header:
1+
.. _dev-block-chain-header:
22

33
Block Chain
44
===========

devguide/contracts.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _dev-contracts-header:
2+
13
Contracts
24
=========
35

devguide/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _dev-index-header:
2+
13
Developer Guides
24
================
35

devguide/mining.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _dev-mining-header:
2+
13
Mining
24
======
35

devguide/operating_modes.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _dev-operating-modes-header:
2+
13
Operating Modes
24
===============
35

devguide/p2p_network.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. _p2p-network-header:
1+
.. _dev-p2p-network-header:
22

33
P2P Network
44
===========

devguide/payment_processing.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _dev-payment-processing-header:
2+
13
Payment Processing
24
==================
35

devguide/transactions.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _dev-transactions-header:
2+
13
Transactions
24
============
35

devguide/wallets.rst

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _dev-wallets-header:
2+
13
Wallets
24
=======
35

@@ -15,7 +17,7 @@ Wallet Programs
1517

1618
Permitting receiving and spending of satoshis is the only essential feature of wallet software—but a particular wallet program doesn’t need to do both things. Two wallet programs can work together, one program distributing public keys in order to receive satoshis and another program signing transactions spending those satoshis.
1719

18-
Wallet programs also need to interact with the `peer-to-peer network <../devguide/p2p_network.html>`__ to get information from the block chain and to broadcast new transactions. However, the programs which distribute public keys or sign transactions don’t need to interact with the `peer-to-peer network <../devguide/p2p_network.html>`__ themselves.
20+
Wallet programs also need to interact with the |peer-to-peer network| to get information from the block chain and to broadcast new transactions. However, the programs which distribute public keys or sign transactions don’t need to interact with the |peer-to-peer network| themselves.
1921

2022
This leaves us with three necessary, but separable, parts of a wallet system: a public key distribution program, a signing program, and a networked program. In the subsections below, we will describe common combinations of these parts.
2123

@@ -42,7 +44,7 @@ To help protect against theft, many wallet programs offer users the option of en
4244
Signing-Only Wallets
4345
~~~~~~~~~~~~~~~~~~~~
4446

45-
To increase security, private keys can be generated and stored by a separate wallet program operating in a more secure environment. These signing-only wallets work in conjunction with a networked wallet which interacts with the `peer-to-peer network <../devguide/p2p_network.html>`__.
47+
To increase security, private keys can be generated and stored by a separate wallet program operating in a more secure environment. These signing-only wallets work in conjunction with a networked wallet which interacts with the |peer-to-peer network|.
4648

4749
Signing-only wallets programs typically use deterministic key creation (described in a later subsection) to create parent private and public keys which can create child private and public keys.
4850

@@ -59,7 +61,7 @@ Often, users are given a chance to review the unsigned transactions’ details (
5961

6062
After the optional review step, the signing-only wallet uses the parent private key to derive the appropriate child private keys and signs the transactions, giving the signed transactions back to the networked wallet.
6163

62-
The networked wallet then broadcasts the signed transactions to the `peer-to-peer network <../devguide/p2p_network.html>`__.
64+
The networked wallet then broadcasts the signed transactions to the |peer-to-peer network|.
6365

6466
The following subsections describe the two most common variants of signing-only wallets: offline wallets and hardware wallets.
6567

@@ -70,13 +72,13 @@ Several full-service wallets programs will also operate as two separate wallets:
7072

7173
The offline wallet is so named because it is intended to be run on a device which does not connect to any |network|, greatly reducing the number of attack vectors. If this is the case, it is usually up to the user to handle all data transfer using removable media such as USB drives. The user’s workflow is something like:
7274

73-
1. (Offline) Disable all |network| connections on a device and install the wallet software. Start the wallet software in offline mode to create the parent private and public keys. Copy the parent public key to removable media.
75+
1. (Offline) Disable all network connections on a device and install the wallet software. Start the wallet software in offline mode to create the parent private and public keys. Copy the parent public key to removable media.
7476

7577
2. (Online) Install the wallet software on another device, this one connected to the Internet, and import the parent public key from the removable media. As you would with a full-service wallet, distribute public keys to receive payment. When ready to spend satoshis, fill in the output details and save the unsigned transaction generated by the wallet to removable media.
7678

7779
3. (Offline) Open the unsigned transaction in the offline instance, review the output details to make sure they spend the correct amount to the correct address. This prevents malware on the online wallet from tricking the user into signing a transaction which pays an attacker. After review, sign the transaction and save it to removable media.
7880

79-
4. (Online) Open the signed transaction in the online instance so it can broadcast it to the `peer-to-peer network <../devguide/p2p_network.html>`__.
81+
4. (Online) Open the signed transaction in the online instance so it can broadcast it to the |peer-to-peer network|.
8082

8183
The primary advantage of offline wallets is their possibility for greatly improved security over full-service wallets. As long as the offline wallet is not compromised (or flawed) and the user reviews all outgoing transactions before signing, the user’s satoshis are safe even if the online wallet is compromised.
8284

@@ -115,7 +117,7 @@ Wallet programs which run in difficult-to-secure environments, such as webserver
115117

116118
- Use a parent public key to create child public keys. To avoid key reuse, a method must be used to ensure the same public key isn’t distributed twice. This can be a database entry for each key distributed or an incrementing pointer to the :term:`key index` number.
117119

118-
Neither method adds a significant amount of overhead, especially if a database is used anyway to associate each incoming payment with a separate public key for payment tracking. See the `Payment Processing <../devguide/payment_processing.html>`__ section for details.
120+
Neither method adds a significant amount of overhead, especially if a database is used anyway to associate each incoming payment with a separate public key for payment tracking. See the :ref:`dev-payment-processing-header` section for details.
119121

120122
Wallet Files
121123
------------
@@ -132,7 +134,7 @@ Private keys are what are used to unlock satoshis from a particular address. In
132134
Wallet Import Format (WIF)
133135
^^^^^^^^^^^^^^^^^^^^^^^^^^
134136

135-
In order to make copying of private keys less prone to error, :term:`Wallet Import Format` may be utilized. WIF uses base58Check encoding on a private key, greatly decreasing the chance of copying error, much like standard Bitcoin addresses.
137+
In order to make copying of private keys less prone to error, :term:`Wallet Import Format` may be utilized. WIF uses :term:`base58Check` encoding on a private key, greatly decreasing the chance of copying error, much like standard Bitcoin addresses.
136138

137139
1. Take a private key.
138140

examples/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _examples-index-header:
2+
13
Examples
24
========
35

examples/intro.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _examples-intro-header:
2+
13
Introduction
24
============
35

examples/p2p_networking.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _examples-p2p-networking-header:
2+
13
P2P Network
24
-----------
35

examples/payment_processing.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _examples-payment-processing-header:
2+
13
Payment Processing
24
------------------
35

examples/testing.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _examples-testing-header:
2+
13
Testing Applications
24
--------------------
35

examples/transactions.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _examples-transactions-header:
2+
13
Transactions
24
------------
35

reference/block_chain.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _reference-block-chain-header:
2+
13
Block Chain
24
-----------
35

reference/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _reference-index-header:
2+
13
Reference
24
=========
35

reference/intro.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _reference-intro-header:
2+
13
Introduction
24
============
35

reference/p2p_networking.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _reference-p2p-networking-header:
2+
13
P2P Network
24
-----------
35

reference/transactions.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _reference-transactions-header:
2+
13
Transactions
24
------------
35

reference/wallets.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _reference-wallets-header:
2+
13
Wallets
24
-------
35

0 commit comments

Comments
 (0)