From 27e2d8bfb5678e79d956b9f1aa50c1b14177d748 Mon Sep 17 00:00:00 2001
From: super3 <me@super3.org>
Date: Tue, 15 Oct 2013 23:14:30 -0400
Subject: [PATCH] Finished /Contrib Index. Standardized READMEs.

File and Link Fix.
---
 contrib/README.md                             | 20 ++++++++-
 contrib/bitrpc/README.md                      |  2 +
 .../gitian-descriptors/{README => README.md}  | 44 ++++++++++---------
 contrib/linearize/README.md                   |  2 +
 .../{misc => linearize}/example-linearize.cfg |  0
 contrib/{misc => linearize}/linearize.py      |  0
 contrib/macdeploy/README.md                   | 19 ++++++++
 contrib/macdeploy/notes.txt                   | 14 ------
 contrib/pyminer/{README => README.md}         |  3 +-
 contrib/qos/{README => README.md}             |  2 +
 contrib/seeds/{README => README.md}           |  6 ++-
 contrib/spendfrom/{README => README.md}       | 16 ++++---
 contrib/test-patches/{README => README.md}    |  5 ++-
 contrib/testgen/README                        |  1 -
 contrib/testgen/README.md                     |  8 ++++
 contrib/verifysfbinaries/README.md            |  7 +++
 contrib/wallettools/README.md                 |  2 +
 17 files changed, 102 insertions(+), 49 deletions(-)
 create mode 100644 contrib/bitrpc/README.md
 rename contrib/gitian-descriptors/{README => README.md} (67%)
 create mode 100644 contrib/linearize/README.md
 rename contrib/{misc => linearize}/example-linearize.cfg (100%)
 rename contrib/{misc => linearize}/linearize.py (100%)
 mode change 100755 => 100644
 create mode 100644 contrib/macdeploy/README.md
 delete mode 100644 contrib/macdeploy/notes.txt
 rename contrib/pyminer/{README => README.md} (65%)
 rename contrib/qos/{README => README.md} (97%)
 rename contrib/seeds/{README => README.md} (74%)
 rename contrib/spendfrom/{README => README.md} (61%)
 rename contrib/test-patches/{README => README.md} (58%)
 delete mode 100644 contrib/testgen/README
 create mode 100644 contrib/testgen/README.md
 create mode 100644 contrib/verifysfbinaries/README.md
 create mode 100644 contrib/wallettools/README.md

diff --git a/contrib/README.md b/contrib/README.md
index 11231ea3c..7128fd5eb 100644
--- a/contrib/README.md
+++ b/contrib/README.md
@@ -1,6 +1,9 @@
 Contrib Index
 ---------------------
 
+### [BitRPC](/contrib/bitrpc) ###
+Added bitrpc.py which allows for sending of all standard Bitcoin commands via RPC rather than as command line args.
+
 ### [Debian](/contrib/debian) ###
 Contains files used to package bitcoind/bitcoin-qt
 for Debian-based Linux systems. If you compile bitcoind/bitcoin-qt yourself, there are some useful files here.
@@ -11,7 +14,10 @@ Gavin's notes on getting gitian builds up and running using KVM.
 ### [Gitian-downloader](/contrib/gitian-downloader)
 Various PGP files of core developers. 
 
-### [Macdeploy](/contrib/macdeploy) ###
+### [Linearize](/contrib/linearize) ###
+Construct a linear, no-fork, best version of the blockchain.
+
+### [MacDeploy](/contrib/macdeploy) ###
 Scripts and notes for Mac builds. 
 
 ### [PyMiner](/contrib/pyminer) ###
@@ -31,4 +37,14 @@ Use the raw transactions API to send coins received on a particular
 address (or addresses).
 
 ### [TestGen](/contrib/testgen) ###
-Utilities to generate test vectors for the data-driven Bitcoin tests.
\ No newline at end of file
+Utilities to generate test vectors for the data-driven Bitcoin tests.
+
+### [Test Patches](/contrib/test-patches) ###
+These patches are applied when the automated pull-tester
+tests each pull and when master is tested using jenkins.
+
+### [Verify SF Binaries](/contrib/verifysfbinaries) ###
+This script attempts to download and verify the signature file SHA256SUMS.asc from SourceForge.
+
+### [Wallet Tools](/contrib/wallettools) ###
+Contains a wallet change password and unlock script.
diff --git a/contrib/bitrpc/README.md b/contrib/bitrpc/README.md
new file mode 100644
index 000000000..2dde60a08
--- /dev/null
+++ b/contrib/bitrpc/README.md
@@ -0,0 +1,2 @@
+### BitRPC ###
+Allows for sending of all standard Bitcoin commands via RPC rather than as command line args.
\ No newline at end of file
diff --git a/contrib/gitian-descriptors/README b/contrib/gitian-descriptors/README.md
similarity index 67%
rename from contrib/gitian-descriptors/README
rename to contrib/gitian-descriptors/README.md
index e9c7d4efc..40bdbd8e3 100644
--- a/contrib/gitian-descriptors/README
+++ b/contrib/gitian-descriptors/README.md
@@ -1,7 +1,7 @@
-Gavin's notes on getting gitian builds up and running using KVM:
+### Gavin's notes on getting gitian builds up and running using KVM:###
 
 These instructions distilled from:
-  https://help.ubuntu.com/community/KVM/Installation
+[  https://help.ubuntu.com/community/KVM/Installation](  https://help.ubuntu.com/community/KVM/Installation)
 ... see there for complete details.
 
 You need the right hardware: you need a 64-bit-capable CPU with hardware virtualization support (Intel VT-x or AMD-V). Not all modern CPUs support hardware virtualization.
@@ -9,11 +9,13 @@ You need the right hardware: you need a 64-bit-capable CPU with hardware virtual
 You probably need to enable hardware virtualization in your machine's BIOS.
 
 You need to be running a recent version of 64-bit-Ubuntu, and you need to install several prerequisites:
-  sudo apt-get install ruby apache2 git apt-cacher-ng python-vm-builder qemu-kvm
+
+	sudo apt-get install ruby apache2 git apt-cacher-ng python-vm-builder qemu-kvm
 
 Sanity checks:
-  sudo service apt-cacher-ng status   # Should return apt-cacher-ng is running
-  ls -l /dev/kvm   # Should show a /dev/kvm device
+
+	sudo service apt-cacher-ng status  # Should return apt-cacher-ng is running
+	ls -l /dev/kvm   # Should show a /dev/kvm device
 
 
 Once you've got the right hardware and software:
@@ -22,10 +24,12 @@ Once you've got the right hardware and software:
     git clone git://github.com/devrandom/gitian-builder.git
     mkdir gitian-builder/inputs
     cd gitian-builder/inputs
+
     # Inputs for Linux and Win32:
     wget -O miniupnpc-1.6.tar.gz 'http://miniupnp.tuxfamily.org/files/download.php?file=miniupnpc-1.6.tar.gz'
     wget 'http://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2'
-    # Inputs for Win32: (Linux has packages for these)
+    
+	# Inputs for Win32: (Linux has packages for these)
     wget 'https://downloads.sourceforge.net/project/boost/boost/1.50.0/boost_1_50_0.tar.bz2'
     wget 'http://www.openssl.org/source/openssl-1.0.1c.tar.gz'
     wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
@@ -58,31 +62,29 @@ Once you've got the right hardware and software:
 
 ---------------------
 
-gitian-builder now also supports building using LXC. See
-  https://help.ubuntu.com/12.04/serverguide/lxc.html
+`gitian-builder` now also supports building using LXC. See
+[  https://help.ubuntu.com/12.04/serverguide/lxc.html](  https://help.ubuntu.com/12.04/serverguide/lxc.html)
 ... for how to get LXC up and running under Ubuntu.
 
 If your main machine is a 64-bit Mac or PC with a few gigabytes of memory
-and at least 10 gigabytes of free disk space, you can gitian-build using
+and at least 10 gigabytes of free disk space, you can `gitian-build` using
 LXC running inside a virtual machine.
 
 Here's a description of Gavin's setup on OSX 10.6:
 
-1. Download and install VirtualBox from https://www.virtualbox.org/
+1. Download and install VirtualBox from [https://www.virtualbox.org/](https://www.virtualbox.org/)
 
 2. Download the 64-bit Ubuntu Desktop 12.04 LTS .iso CD image from
-  http://www.ubuntu.com/
+   [http://www.ubuntu.com/](http://www.ubuntu.com/)
 
-3. Run VirtualBox and create a new virtual machine, using the
-  Ubuntu .iso (see the VirtualBox documentation for details).
-  Create it with at least 2 gigabytes of memory and a disk
-  that is at least 20 gigabytes big.
+3. Run VirtualBox and create a new virtual machine, using the Ubuntu .iso (see the [VirtualBox documentation](https://www.virtualbox.org/wiki/Documentation) for details). Create it with at least 2 gigabytes of memory and a disk that is at least 20 gigabytes big.
 
 4. Inside the running Ubuntu desktop, install:
-  sudo apt-get install debootstrap lxc ruby apache2 git apt-cacher-ng python-vm-builder
 
-5. Still inside Ubuntu, tell gitian-builder to use LXC, then follow the "Once you've got the right
-  hardware and software" instructions above:
-  export USE_LXC=1
-  git clone git://github.com/bitcoin/bitcoin.git
-  ... etc
+	sudo apt-get install debootstrap lxc ruby apache2 git apt-cacher-ng python-vm-builder
+
+5. Still inside Ubuntu, tell gitian-builder to use LXC, then follow the "Once you've got the right hardware and software" instructions above:
+
+	export USE_LXC=1
+	git clone git://github.com/bitcoin/bitcoin.git
+	... etc
\ No newline at end of file
diff --git a/contrib/linearize/README.md b/contrib/linearize/README.md
new file mode 100644
index 000000000..70b9f034c
--- /dev/null
+++ b/contrib/linearize/README.md
@@ -0,0 +1,2 @@
+### Linearize ###
+Construct a linear, no-fork, best version of the blockchain.
\ No newline at end of file
diff --git a/contrib/misc/example-linearize.cfg b/contrib/linearize/example-linearize.cfg
similarity index 100%
rename from contrib/misc/example-linearize.cfg
rename to contrib/linearize/example-linearize.cfg
diff --git a/contrib/misc/linearize.py b/contrib/linearize/linearize.py
old mode 100755
new mode 100644
similarity index 100%
rename from contrib/misc/linearize.py
rename to contrib/linearize/linearize.py
diff --git a/contrib/macdeploy/README.md b/contrib/macdeploy/README.md
new file mode 100644
index 000000000..5f0611f20
--- /dev/null
+++ b/contrib/macdeploy/README.md
@@ -0,0 +1,19 @@
+### MacDeploy ###
+
+You will need the appscript package for the fancy disk image creation to work:
+
+	sudo easy_install appscript
+
+For Snow Leopard (which uses [Python 2.6](http://www.python.org/download/releases/2.6/)), you will need the param_parser package:
+	
+	sudo easy_install argparse
+
+This script should not be run manually, instead, after building as usual:
+
+	make deploy
+
+During the process, the disk image window will pop up briefly where the fancy
+settings are applied. This is normal, please do not interfere.
+
+When finished, it will produce `Bitcoin-Qt.dmg`.
+
diff --git a/contrib/macdeploy/notes.txt b/contrib/macdeploy/notes.txt
deleted file mode 100644
index e7f62c4a3..000000000
--- a/contrib/macdeploy/notes.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-You will need the appscript package for the fancy disk image creation to work.
-Install it by invoking "sudo easy_install appscript".
-
-For Snow Leopard (which uses Python 2.6), you will need the param_parser package.
-Install it by invoking "sudo easy_install argparse"
-
-This script should not be run manually, instead, after building as usual:
-"make deploy"
-
-During the process, the disk image window will pop up briefly where the fancy
-settings are applied. This is normal, please do not interfere.
-
-When finished, it will produce Bitcoin-Qt.dmg.
-
diff --git a/contrib/pyminer/README b/contrib/pyminer/README.md
similarity index 65%
rename from contrib/pyminer/README
rename to contrib/pyminer/README.md
index d1596575d..119d51bdc 100644
--- a/contrib/pyminer/README
+++ b/contrib/pyminer/README.md
@@ -1,5 +1,6 @@
+### PyMiner ###
 
-This is a 'getwork' CPU mining client for bitcoin.
+This is a 'getwork' CPU mining client for Bitcoin.
 
 It is pure-python, and therefore very, very slow.  The purpose is to
 provide a reference implementation of a miner, for study.
diff --git a/contrib/qos/README b/contrib/qos/README.md
similarity index 97%
rename from contrib/qos/README
rename to contrib/qos/README.md
index f41968574..5e0a975fc 100644
--- a/contrib/qos/README
+++ b/contrib/qos/README.md
@@ -1,3 +1,5 @@
+### Qos ###
+
 This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Bitcoin network. It limits outbound TCP traffic with a source or destination port of 8333, but not if the destination IP is within a LAN (defined as 192.168.x.x).
 
 This means one can have an always-on bitcoind instance running, and another local bitcoind/bitcoin-qt instance which connects to this node and receives blocks from it.
diff --git a/contrib/seeds/README b/contrib/seeds/README.md
similarity index 74%
rename from contrib/seeds/README
rename to contrib/seeds/README.md
index 97e3e1ec7..f9a0c277e 100644
--- a/contrib/seeds/README
+++ b/contrib/seeds/README.md
@@ -1,9 +1,11 @@
+### Seeds ###
+
 Utility to generate the pnSeed[] array that is compiled into the client
-(see src/net.cpp).
+(see [src/net.cpp](/src/net.cpp)).
 
 The 600 seeds compiled into the 0.8 release were created from sipa's DNS seed data, like this:
 
-curl -s http://bitcoin.sipa.be/seeds.txt | head -1000 | makeseeds.py
+	curl -s http://bitcoin.sipa.be/seeds.txt | head -1000 | makeseeds.py
 
 The input to makeseeds.py is assumed to be approximately sorted from most-reliable to least-reliable,
 with IP:port first on each line (lines that don't match IPv4:port are ignored).
diff --git a/contrib/spendfrom/README b/contrib/spendfrom/README.md
similarity index 61%
rename from contrib/spendfrom/README
rename to contrib/spendfrom/README.md
index 8a087a0c1..bc4def5f7 100644
--- a/contrib/spendfrom/README
+++ b/contrib/spendfrom/README.md
@@ -1,16 +1,18 @@
+### SpendFrom ###
+
 Use the raw transactions API to send coins received on a particular
 address (or addresses).
 
-Depends on jsonrpc
+Depends on `jsonrpc`
 
 Usage:
 
-spendfrom.py --from=FROMADDRESS1[,FROMADDRESS2] --to=TOADDRESS --amount=amount \
-             --fee=fee --datadir=/path/to/.bitcoin --testnet --dry_run
+	spendfrom.py --from=FROMADDRESS1[,FROMADDRESS2] --to=TOADDRESS --amount=amount \
+	             --fee=fee --datadir=/path/to/.bitcoin --testnet --dry_run
 
 With no arguments, outputs a list of amounts associated with addresses.
 
-With arguments, sends coins received by the FROMADDRESS addresses to the TOADDRESS.
+With arguments, sends coins received by the `FROMADDRESS` addresses to the `TOADDRESS`.
 
 You may explictly specify how much fee to pay (a fee more than 1% of the amount
 will fail,  though, to prevent bitcoin-losing accidents). Spendfrom may fail if
@@ -18,11 +20,11 @@ it thinks the transaction would never be confirmed (if the amount being sent is
 too small, or if the transaction is too many bytes for the fee).
 
 If a change output needs to be created, the change will be sent to the last
-FROMADDRESS (if you specify just one FROMADDRESS, change will go back to it).
+`FROMADDRESS` (if you specify just one `FROMADDRESS`, change will go back to it).
 
-If --datadir is not specified, the default datadir is used.
+If `--datadir` is not specified, the default datadir is used.
 
-The --dry_run option will just create and sign the the transaction and print
+The `--dry_run` option will just create and sign the the transaction and print
 the transaction data (as hexadecimal), instead of broadcasting it.
 
 If the transaction is created and broadcast successfully, a transaction id
diff --git a/contrib/test-patches/README b/contrib/test-patches/README.md
similarity index 58%
rename from contrib/test-patches/README
rename to contrib/test-patches/README.md
index ed754cea7..def40b0d6 100644
--- a/contrib/test-patches/README
+++ b/contrib/test-patches/README.md
@@ -1,4 +1,7 @@
+### Test Patches ###
+
 These patches are applied when the automated pull-tester
 tests each pull and when master is tested using jenkins.
 You can find more information about the tests run at
-http://jenkins.bluematt.me/pull-tester/files/
+[http://jenkins.bluematt.me/pull-tester/files/
+](http://jenkins.bluematt.me/pull-tester/files/)
\ No newline at end of file
diff --git a/contrib/testgen/README b/contrib/testgen/README
deleted file mode 100644
index 65a6db1c7..000000000
--- a/contrib/testgen/README
+++ /dev/null
@@ -1 +0,0 @@
-Utilities to generate test vectors for the data-driven Bitcoin tests.
diff --git a/contrib/testgen/README.md b/contrib/testgen/README.md
new file mode 100644
index 000000000..83624f443
--- /dev/null
+++ b/contrib/testgen/README.md
@@ -0,0 +1,8 @@
+### TestGen ###
+
+Utilities to generate test vectors for the data-driven Bitcoin tests.
+
+Usage: 
+
+    gen_base58_test_vectors.py valid 50 > ../../src/test/data/base58_keys_valid.json
+    gen_base58_test_vectors.py invalid 50 > ../../src/test/data/base58_keys_invalid.json
\ No newline at end of file
diff --git a/contrib/verifysfbinaries/README.md b/contrib/verifysfbinaries/README.md
new file mode 100644
index 000000000..caa407360
--- /dev/null
+++ b/contrib/verifysfbinaries/README.md
@@ -0,0 +1,7 @@
+### Verify SF Binaries ###
+This script attempts to download the signature file `SHA256SUMS.asc` from SourceForge.
+
+It first checks if the signature passes, and then downloads the files specified in
+the file, and checks if the hashes of these files match those that are specified
+in the signature file. The script returns 0 if everything passes the checks. It returns 1 if either the
+signature check or the hash check doesn't pass. If an error occurs the return value is 2
\ No newline at end of file
diff --git a/contrib/wallettools/README.md b/contrib/wallettools/README.md
new file mode 100644
index 000000000..358f52569
--- /dev/null
+++ b/contrib/wallettools/README.md
@@ -0,0 +1,2 @@
+### Wallet Tools ###
+Contains a wallet change password and unlock script.