diff --git a/README.md b/README.md
index 1633a2aae..1ddd27872 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,9 @@
btcd
====
-[]
-(https://travis-ci.org/btcsuite/btcd)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd)
btcd is an alternative full node bitcoin implementation written in Go (golang).
diff --git a/blockchain/README.md b/blockchain/README.md
index ad7a69d4e..275c2b4f0 100644
--- a/blockchain/README.md
+++ b/blockchain/README.md
@@ -1,11 +1,9 @@
blockchain
==========
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/blockchain)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/blockchain)
Package blockchain implements bitcoin block handling and chain selection rules.
The test coverage is currently only around 60%, but will be increasing over
@@ -63,21 +61,18 @@ is by no means exhaustive:
## Examples
-* [ProcessBlock Example]
- (http://godoc.org/github.com/btcsuite/btcd/blockchain#example-BlockChain-ProcessBlock)
+* [ProcessBlock Example](http://godoc.org/github.com/btcsuite/btcd/blockchain#example-BlockChain-ProcessBlock)
Demonstrates how to create a new chain instance and use ProcessBlock to
attempt to attempt add a block to the chain. This example intentionally
attempts to insert a duplicate genesis block to illustrate how an invalid
block is handled.
-* [CompactToBig Example]
- (http://godoc.org/github.com/btcsuite/btcd/blockchain#example-CompactToBig)
+* [CompactToBig Example](http://godoc.org/github.com/btcsuite/btcd/blockchain#example-CompactToBig)
Demonstrates how to convert the compact "bits" in a block header which
represent the target difficulty to a big integer and display it using the
typical hex notation.
-* [BigToCompact Example]
- (http://godoc.org/github.com/btcsuite/btcd/blockchain#example-BigToCompact)
+* [BigToCompact Example](http://godoc.org/github.com/btcsuite/btcd/blockchain#example-BigToCompact)
Demonstrates how to convert how to convert a target difficulty into the
compact "bits" in a block header which represent that target difficulty.
diff --git a/blockchain/fullblocktests/README.md b/blockchain/fullblocktests/README.md
index d6ae33f2c..1caca0273 100644
--- a/blockchain/fullblocktests/README.md
+++ b/blockchain/fullblocktests/README.md
@@ -1,11 +1,9 @@
fullblocktests
==============
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/blockchain/fullblocktests)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/blockchain/fullblocktests)
Package fullblocktests provides a set of full block tests to be used for testing
the consensus validation rules. The tests are intended to be flexible enough to
diff --git a/blockchain/indexers/README.md b/blockchain/indexers/README.md
index 8ec12e2b7..20a721f3f 100644
--- a/blockchain/indexers/README.md
+++ b/blockchain/indexers/README.md
@@ -1,8 +1,9 @@
indexers
========
-[]
-(https://travis-ci.org/btcsuite/btcd)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/blockchain/indexers)
Package indexers implements optional block chain indexes.
@@ -19,19 +20,6 @@ via an RPC interface.
or debit the address
- Requires the transaction-by-hash index
-## Documentation
-
-[]
-(http://godoc.org/github.com/btcsuite/btcd/blockchain/indexers)
-
-Full `go doc` style documentation for the project can be viewed online without
-installing this package by using the GoDoc site here:
-http://godoc.org/github.com/btcsuite/btcd/blockchain/indexers
-
-You can also view the documentation locally once the package is installed with
-the `godoc` tool by running `godoc -http=":6060"` and pointing your browser to
-http://localhost:6060/pkg/github.com/btcsuite/btcd/blockchain/indexers
-
## Installation
```bash
diff --git a/btcec/README.md b/btcec/README.md
index 5875dfc91..130bd200a 100644
--- a/btcec/README.md
+++ b/btcec/README.md
@@ -1,11 +1,9 @@
btcec
=====
-[]
-(https://travis-ci.org/btcsuite/btcec) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/btcec)
+[](https://travis-ci.org/btcsuite/btcec)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/btcec)
Package btcec implements elliptic curve cryptography needed for working with
Bitcoin (secp256k1 only for now). It is designed so that it may be used with the
@@ -27,23 +25,19 @@ $ go get -u github.com/btcsuite/btcd/btcec
## Examples
-* [Sign Message]
- (http://godoc.org/github.com/btcsuite/btcd/btcec#example-package--SignMessage)
+* [Sign Message](http://godoc.org/github.com/btcsuite/btcd/btcec#example-package--SignMessage)
Demonstrates signing a message with a secp256k1 private key that is first
parsed form raw bytes and serializing the generated signature.
-* [Verify Signature]
- (http://godoc.org/github.com/btcsuite/btcd/btcec#example-package--VerifySignature)
+* [Verify Signature](http://godoc.org/github.com/btcsuite/btcd/btcec#example-package--VerifySignature)
Demonstrates verifying a secp256k1 signature against a public key that is
first parsed from raw bytes. The signature is also parsed from raw bytes.
-* [Encryption]
- (http://godoc.org/github.com/btcsuite/btcd/btcec#example-package--EncryptMessage)
+* [Encryption](http://godoc.org/github.com/btcsuite/btcd/btcec#example-package--EncryptMessage)
Demonstrates encrypting a message for a public key that is first parsed from
raw bytes, then decrypting it using the corresponding private key.
-* [Decryption]
- (http://godoc.org/github.com/btcsuite/btcd/btcec#example-package--DecryptMessage)
+* [Decryption](http://godoc.org/github.com/btcsuite/btcd/btcec#example-package--DecryptMessage)
Demonstrates decrypting a message using a private key that is first parsed
from raw bytes.
diff --git a/btcjson/README.md b/btcjson/README.md
index 57a2b9c99..b64357954 100644
--- a/btcjson/README.md
+++ b/btcjson/README.md
@@ -1,11 +1,9 @@
btcjson
=======
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/btcjson)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/btcjson)
Package btcjson implements concrete types for marshalling to and from the
bitcoin JSON-RPC API. A comprehensive suite of tests is provided to ensure
@@ -32,21 +30,17 @@ $ go get -u github.com/btcsuite/btcd/btcjson
## Examples
-* [Marshal Command]
- (http://godoc.org/github.com/btcsuite/btcd/btcjson#example-MarshalCmd)
+* [Marshal Command](http://godoc.org/github.com/btcsuite/btcd/btcjson#example-MarshalCmd)
Demonstrates how to create and marshal a command into a JSON-RPC request.
-* [Unmarshal Command]
- (http://godoc.org/github.com/btcsuite/btcd/btcjson#example-UnmarshalCmd)
+* [Unmarshal Command](http://godoc.org/github.com/btcsuite/btcd/btcjson#example-UnmarshalCmd)
Demonstrates how to unmarshal a JSON-RPC request and then unmarshal the
concrete request into a concrete command.
-* [Marshal Response]
- (http://godoc.org/github.com/btcsuite/btcd/btcjson#example-MarshalResponse)
+* [Marshal Response](http://godoc.org/github.com/btcsuite/btcd/btcjson#example-MarshalResponse)
Demonstrates how to marshal a JSON-RPC response.
-* [Unmarshal Response]
- (http://godoc.org/github.com/btcsuite/btcd/btcjson#example-package--UnmarshalResponse)
+* [Unmarshal Response](http://godoc.org/github.com/btcsuite/btcd/btcjson#example-package--UnmarshalResponse)
Demonstrates how to unmarshal a JSON-RPC response and then unmarshal the
result field in the response to a concrete type.
diff --git a/chaincfg/README.md b/chaincfg/README.md
index ae28c1681..880446fdc 100644
--- a/chaincfg/README.md
+++ b/chaincfg/README.md
@@ -1,11 +1,9 @@
chaincfg
========
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/chaincfg)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/chaincfg)
Package chaincfg defines chain configuration parameters for the three standard
Bitcoin networks and provides the ability for callers to define their own custom
diff --git a/chaincfg/chainhash/README.md b/chaincfg/chainhash/README.md
index ab1e8d3cc..41eeef700 100644
--- a/chaincfg/chainhash/README.md
+++ b/chaincfg/chainhash/README.md
@@ -1,11 +1,9 @@
chainhash
=========
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/chaincfg/chainhash)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/chaincfg/chainhash)
chainhash provides a generic hash type and associated functions that allows the
specific hash algorithm to be abstracted.
diff --git a/connmgr/README.md b/connmgr/README.md
index 3cb184fb3..6f3968cec 100644
--- a/connmgr/README.md
+++ b/connmgr/README.md
@@ -1,11 +1,9 @@
connmgr
=======
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/connmgr)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/connmgr)
Package connmgr implements a generic Bitcoin network connection manager.
diff --git a/database/README.md b/database/README.md
index bcf5a1d56..ea9972236 100644
--- a/database/README.md
+++ b/database/README.md
@@ -1,11 +1,9 @@
database
========
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/database)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/database)
Package database provides a block and metadata storage database.
@@ -16,8 +14,7 @@ and that entity will be btcd.
When a client wants programmatic access to the data provided by btcd, they'll
likely want to use the [btcrpcclient](https://github.com/btcsuite/btcrpcclient)
-package which makes use of the [JSON-RPC API]
-(https://github.com/btcsuite/btcd/tree/master/docs/json_rpc_api.md).
+package which makes use of the [JSON-RPC API](https://github.com/btcsuite/btcd/tree/master/docs/json_rpc_api.md).
However, this package could be extremely useful for any applications requiring
Bitcoin block storage capabilities.
@@ -45,13 +42,11 @@ $ go get -u github.com/btcsuite/btcd/database
## Examples
-* [Basic Usage Example]
- (http://godoc.org/github.com/btcsuite/btcd/database#example-package--BasicUsage)
+* [Basic Usage Example](http://godoc.org/github.com/btcsuite/btcd/database#example-package--BasicUsage)
Demonstrates creating a new database and using a managed read-write
transaction to store and retrieve metadata.
-* [Block Storage and Retrieval Example]
- (http://godoc.org/github.com/btcsuite/btcd/database#example-package--BlockStorageAndRetrieval)
+* [Block Storage and Retrieval Example](http://godoc.org/github.com/btcsuite/btcd/database#example-package--BlockStorageAndRetrieval)
Demonstrates creating a new database, using a managed read-write transaction
to store a block, and then using a managed read-only transaction to fetch the
block.
diff --git a/database/ffldb/README.md b/database/ffldb/README.md
index dcb8308c5..5609aa5e9 100644
--- a/database/ffldb/README.md
+++ b/database/ffldb/README.md
@@ -1,8 +1,9 @@
ffldb
=====
-[]
-(https://travis-ci.org/btcsuite/btcd)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/database/ffldb)
Package ffldb implements a driver for the database package that uses leveldb for
the backing metadata and flat files for block storage.
@@ -33,19 +34,6 @@ if err != nil {
}
```
-## Documentation
-
-[]
-(http://godoc.org/github.com/btcsuite/btcd/database/ffldb)
-
-Full `go doc` style documentation for the project can be viewed online without
-installing this package by using the GoDoc site here:
-http://godoc.org/github.com/btcsuite/btcd/database/ffldb
-
-You can also view the documentation locally once the package is installed with
-the `godoc` tool by running `godoc -http=":6060"` and pointing your browser to
-http://localhost:6060/pkg/github.com/btcsuite/btcd/database/ffldb
-
## License
Package ffldb is licensed under the [copyfree](http://copyfree.org) ISC
diff --git a/database/internal/treap/README.md b/database/internal/treap/README.md
index 57136e3cf..ee49ef9bf 100644
--- a/database/internal/treap/README.md
+++ b/database/internal/treap/README.md
@@ -1,8 +1,9 @@
treap
=====
-[]
-(https://travis-ci.org/btcsuite/btcd)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/database/internal/treap)
Package treap implements a treap data structure that is used to hold ordered
key/value pairs using a combination of binary search tree and heap semantics.
@@ -32,19 +33,6 @@ Package treap is licensed under the copyfree ISC license.
This package is only used internally in the database code and as such is not
available for use outside of it.
-## Documentation
-
-[]
-(http://godoc.org/github.com/btcsuite/btcd/database/internal/treap)
-
-Full `go doc` style documentation for the project can be viewed online without
-installing this package by using the GoDoc site here:
-http://godoc.org/github.com/btcsuite/btcd/database/internal/treap
-
-You can also view the documentation locally once the package is installed with
-the `godoc` tool by running `godoc -http=":6060"` and pointing your browser to
-http://localhost:6060/pkg/github.com/btcsuite/btcd/database/internal/treap
-
## License
Package treap is licensed under the [copyfree](http://copyfree.org) ISC
diff --git a/docs/README.md b/docs/README.md
index 3dc067749..ee208dd02 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -214,6 +214,7 @@ configuration necessary, however, there is an optional method to use a
**3.1.1 bootstrap.dat**
* [Using bootstrap.dat](https://github.com/btcsuite/btcd/tree/master/docs/using_bootstrap_dat.md)
+
**3.1.2 Network Configuration**
diff --git a/docs/code_contribution_guidelines.md b/docs/code_contribution_guidelines.md
index 204294528..b643e911a 100644
--- a/docs/code_contribution_guidelines.md
+++ b/docs/code_contribution_guidelines.md
@@ -16,6 +16,7 @@
6.2. [Licensing of Contributions](#Licensing)
+
### 1. Overview
Developing cryptocurrencies is an exciting endeavor that touches a wide variety
@@ -38,6 +39,7 @@ We highly encourage code contributions, however it is imperative that you adhere
to the guidelines established on this page.
+
### 2. Minimum Recommended Skillset
The following list is a set of core competencies that we recommend you possess
@@ -63,6 +65,7 @@ understanding of the various aspects involved with cryptography such as the
security and performance implications.
+
### 3. Required Reading
- [Effective Go](http://golang.org/doc/effective_go.html) - The entire btcd
@@ -72,6 +75,7 @@ security and performance implications.
foundation to build on will make the code much more comprehensible.
+
### 4. Development Practices
Developers are expected to work in their own trees and submit pull requests when
@@ -79,6 +83,7 @@ they feel their feature or bug fix is ready for integration into the master
branch.
+
### 4.1 Share Early, Share Often
We firmly believe in the share early, share often approach. The basic premise
@@ -101,6 +106,7 @@ This approach has several benefits:
spend rebasing and otherwise trying to keep up with the main code base
+
### 4.2 Testing
One of the major design goals of all core btcd packages is to aim for complete
@@ -127,6 +133,7 @@ A quick summary of test practices follows:
to both prove it has been resolved and to prevent future regressions
+
### 4.3 Code Documentation and Commenting
- At a minimum every function must be commented with its intended purpose and
@@ -196,6 +203,7 @@ but it was left as a magic number to show how much of a difference a good
comment can make.
+
### 4.4 Model Git Commit Messages
This project prefers to keep a clean commit history with well-formed commit
@@ -248,12 +256,14 @@ a good thing.
reply indicators without overflow in an 80 column terminal.
+
### 5. Code Approval Process
This section describes the code approval process that is used for code
contributions. This is how to get your changes into btcd.
+
### 5.1 Code Review
All code which is submitted will need to be reviewed before inclusion into the
@@ -289,6 +299,7 @@ checks which are generally performed as follows:
consensus
+
### 5.2 Rework Code (if needed)
After the code review, the change will be accepted immediately if no issues are
@@ -301,6 +312,7 @@ make the necessary changes.
This process will continue until the code is finally accepted.
+
### 5.3 Acceptance
Once your code is accepted, it will be integrated with the master branch.
@@ -312,9 +324,11 @@ the master branch and the pull request will be closed.
Rejoice as you will now be listed as a [contributor](https://github.com/btcsuite/btcd/graphs/contributors)!
+
### 6. Contribution Standards
+
### 6.1. Contribution Checklist
- [ ] All changes are Go version 1.3 compliant
@@ -333,8 +347,9 @@ Rejoice as you will now be listed as a [contributor](https://github.com/btcsuite
report any **new** issues that did not already exist
+
### 6.2. Licensing of Contributions
-****
+
All contributions must be licensed with the
[ISC license](https://github.com/btcsuite/btcd/blob/master/LICENSE). This is
the same license as all of the code in the btcd suite.
diff --git a/docs/configuring_tor.md b/docs/configuring_tor.md
index d7afb8721..442930d6e 100644
--- a/docs/configuring_tor.md
+++ b/docs/configuring_tor.md
@@ -18,6 +18,7 @@
5.3 [Config File Example](#TorStreamIsolationFileExample)
+
### 1. Overview
btcd provides full support for anonymous networking via the
@@ -34,9 +35,11 @@ you are connecting to them. We recommend you take the time to setup a Tor
hidden service for this reason.
+
### 2. Client-Only
+
**2.1 Description**
Configuring btcd as a Tor client is straightforward. The first step is
@@ -56,6 +59,7 @@ not be reachable for inbound connections unless you also configure a Tor
[hidden service](#HiddenService).
+
**2.2 Command Line Example**
```bash
@@ -63,6 +67,7 @@ $ ./btcd --proxy=127.0.0.1:9050
```
+
**2.3 Config File Example**
```text
@@ -72,9 +77,11 @@ proxy=127.0.0.1:9050
```
+
### 3. Client-Server via Tor Hidden Service
+
**3.1 Description**
The first step is to configure Tor to provide a hidden service. Documentation
@@ -103,6 +110,7 @@ three flags:
* `--externalip` to set the .onion address that is advertised to other peers
+
**3.2 Command Line Example**
```bash
@@ -110,6 +118,7 @@ $ ./btcd --proxy=127.0.0.1:9050 --listen=127.0.0.1 --externalip=fooanon.onion
```
+
**3.3 Config File Example**
```text
@@ -121,9 +130,11 @@ externalip=fooanon.onion
```
+
### 4. Bridge Mode (Not Anonymous)
+
**4.1 Description**
btcd provides support for operating as a bridge between regular nodes and hidden
@@ -144,6 +155,7 @@ mode, you only need to specify your hidden service's .onion address via the
routed via Tor due to the `--onion` flag.
+
**4.2 Command Line Example**
```bash
@@ -151,6 +163,7 @@ $ ./btcd --onion=127.0.0.1:9050 --externalip=fooanon.onion
```
+
**4.3 Config File Example**
```text
@@ -161,9 +174,11 @@ externalip=fooanon.onion
```
+
### 5. Tor Stream Isolation
+
**5.1 Description**
Tor stream isolation forces Tor to build a new circuit for each connection
@@ -173,6 +188,7 @@ btcd provides support for Tor stream isolation by using the `--torisolation`
flag. This option requires --proxy or --onionproxy to be set.
+
**5.2 Command Line Example**
```bash
@@ -180,6 +196,7 @@ $ ./btcd --proxy=127.0.0.1:9050 --torisolation
```
+
**5.3 Config File Example**
```text
diff --git a/docs/json_rpc_api.md b/docs/json_rpc_api.md
index cdcc4b93d..5b7fd1501 100644
--- a/docs/json_rpc_api.md
+++ b/docs/json_rpc_api.md
@@ -23,6 +23,7 @@
9.2. [node.js](#ExampleNodeJsCode)
+
### 1. Overview
btcd provides a [JSON-RPC](http://json-rpc.org/wiki/specification) API that is
@@ -59,6 +60,7 @@ progress, incomplete, and susceptible to changes (both additions and removals).
The original bitcoind/bitcoin-qt JSON-RPC API documentation is available at [https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list](https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list)
+
### 2. HTTP POST Versus Websockets
The btcd RPC server supports both [HTTP POST](http://en.wikipedia.org/wiki/POST_%28HTTP%29)
@@ -81,9 +83,11 @@ JSON-RPC API are:
|Scales well with large numbers of requests|No|Yes|
+
### 3. Authentication
+
**3.1 Authentication Overview**
The following authentication details are needed before establishing a connection
@@ -109,6 +113,7 @@ two, mutually exclusive, methods.
- [Use the JSON-RPC "authenticate" command](#JSONAuth) - Websockets only
+
**3.2 HTTP Basic Access Authentication**
The btcd RPC server uses HTTP [basic access authentication](http://en.wikipedia.org/wiki/Basic_access_authentication) with the **rpcuser**
@@ -116,6 +121,7 @@ and **rpcpass** detailed above. If the supplied credentials are invalid, you
will be disconnected immediately upon making the connection.
+
**3.3 JSON-RPC Authenticate Command (Websocket-specific)**
While the HTTP basic access authentication method is the preferred method, the
@@ -129,6 +135,7 @@ authenticated will cause the websocket to be closed immediately.
+
### 4. Command-line Utility
btcd comes with a separate utility named `btcctl` which can be used to issue
@@ -138,9 +145,11 @@ be used to communicate with any server/daemon/service which provides a JSON-RPC
API compatible with the original bitcoind/bitcoin-qt client.
+
### 5. Standard Methods
+
**5.1 Method Overview**
The following is an overview of the RPC methods and their current status. Click
@@ -180,6 +189,7 @@ the method name for further details such as parameter and return information.
|30|[verifychain](#verifychain)|N|Verifies the block chain database.|
+
**5.2 Method Details**
@@ -552,9 +562,11 @@ Example Return|`{`
`"bytes": 310768,`
`"size":
+
### 6. Extension Methods
+
**6.1 Method Overview**
The following is an overview of the RPC methods which are implemented by btcd, but not the original bitcoind client. Click the method name for further details such as parameter and return information.
@@ -572,6 +584,7 @@ The following is an overview of the RPC methods which are implemented by btcd, b
+
**6.2 Method Details**
@@ -677,9 +690,11 @@ The following is an overview of the RPC methods which are implemented by btcd, b
***
+
### 7. Websocket Extension Methods (Websocket-specific)
+
**7.1 Method Overview**
The following is an overview of the RPC method requests available exclusively to Websocket clients. All of these RPC methods are available to the limited
@@ -702,6 +717,7 @@ user. Click the method name for further details such as parameter and return in
|13|[rescanblocks](#rescanblocks)|Rescan blocks for transactions matching the loaded transaction filter.|None|
+
**7.2 Method Details**
@@ -728,6 +744,7 @@ user. Click the method name for further details such as parameter and return in
[Return to Overview](#WSExtMethodOverview)
***
+
| | |
@@ -872,11 +889,13 @@ user. Click the method name for further details such as parameter and return in
+
### 8. Notifications (Websocket-specific)
btcd uses standard JSON-RPC notifications to notify clients of changes, rather than requiring clients to poll btcd for updates. JSON-RPC notifications are a subset of requests, but do not contain an ID. The notification type is categorized by the `method` field and additional details are sent as a JSON array in the `params` field.
+
**8.1 Notification Overview**
The following is an overview of the JSON-RPC notifications used for Websocket connections. Click the method name for further details of the context(s) in which they are sent and their parameters.
@@ -896,6 +915,7 @@ The following is an overview of the JSON-RPC notifications used for Websocket co
|11|[filteredblockdisconnected](#filteredblockdisconnected)|Block disconnected from the main chain.|[notifyblocks](#notifyblocks), [loadtxfilter](#loadtxfilter)|
+
**8.2 Notification Details**
@@ -1040,6 +1060,7 @@ The following is an overview of the JSON-RPC notifications used for Websocket co
+
### 9. Example Code
This section provides example code for interacting with the JSON-RPC API in
@@ -1049,6 +1070,7 @@ various languages.
* [node.js](#ExampleNodeJsCode)
+
**9.1 Go**
This section provides examples of using the RPC interface using Go and the
@@ -1060,6 +1082,7 @@ This section provides examples of using the RPC interface using Go and the
+
**9.1.1 Using getblockcount to Retrieve the Current Block Height**
The following is an example Go application which uses the
@@ -1120,6 +1143,7 @@ Block count: 276978
```
+
**9.1.2 Using getblock to Retrieve the Genesis Block**
The following is an example Go application which uses the
@@ -1208,6 +1232,7 @@ Num transactions: 1
```
+
**9.1.3 Using notifyblocks to Receive blockconnected and blockdisconnected
Notifications (Websocket-specific)**
@@ -1298,9 +1323,11 @@ Example output:
```
+
### 9.2. Example node.js Code
+
**9.2.1 Using notifyblocks to be Notified of Block Connects and Disconnects**
The following is example node.js code which uses [ws](https://github.com/einaros/ws)
diff --git a/docs/using_bootstrap_dat.md b/docs/using_bootstrap_dat.md
index d508831de..de7e08c0c 100644
--- a/docs/using_bootstrap_dat.md
+++ b/docs/using_bootstrap_dat.md
@@ -6,6 +6,7 @@
5. [How do I use bootstrap.dat with btcd?](#Importing)
+
### 1. What is bootstrap.dat?
It is a flat, binary file containing bitcoin blockchain data starting from the
@@ -20,6 +21,7 @@ block chain from other peers through the Bitcoin protocol with no extra
configuration needed.
+
### 2. What are the pros and cons of using bootstrap.dat?
Pros:
@@ -36,6 +38,7 @@ Cons:
well as the imported database
+
### 3. Where do I get bootstrap.dat?
The bootstrap.dat file is made available via a torrent. See
@@ -43,6 +46,7 @@ The bootstrap.dat file is made available via a torrent. See
for the torrent download details.
+
### 4. How do I know I can trust the bootstrap.dat I downloaded?
You don't need to trust the file as the `addblock` utility verifies every block
@@ -53,6 +57,7 @@ that not only is it a valid chain, but it is the same chain that everyone else
is using.
+
### 5. How do I use bootstrap.dat with btcd?
btcd comes with a separate utility named `addblock` which can be used to import
diff --git a/integration/README.md b/integration/README.md
index cf895ff94..52bbf5116 100644
--- a/integration/README.md
+++ b/integration/README.md
@@ -1,9 +1,8 @@
integration
===========
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
This contains integration tests which make use of the
[rpctest](https://github.com/btcsuite/btcd/tree/master/integration/rpctest)
diff --git a/integration/rpctest/README.md b/integration/rpctest/README.md
index 3b8f46aa7..fceeed20a 100644
--- a/integration/rpctest/README.md
+++ b/integration/rpctest/README.md
@@ -1,11 +1,9 @@
rpctest
=======
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/integration/rpctest)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/integration/rpctest)
Package rpctest provides a btcd-specific RPC testing harness crafting and
executing integration tests by driving a `btcd` instance via the `RPC`
@@ -27,7 +25,6 @@ $ go get -u github.com/btcsuite/btcd/integration/rpctest
## License
-
Package rpctest is licensed under the [copyfree](http://copyfree.org) ISC
License.
diff --git a/mempool/README.md b/mempool/README.md
index 874e6fd21..7ad0a68c8 100644
--- a/mempool/README.md
+++ b/mempool/README.md
@@ -1,11 +1,9 @@
mempool
=======
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/mempool)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/mempool)
Package mempool provides a policy-enforced pool of unmined bitcoin transactions.
diff --git a/mining/README.md b/mining/README.md
index 07eccdea8..5295215f8 100644
--- a/mining/README.md
+++ b/mining/README.md
@@ -1,11 +1,9 @@
mining
======
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/mining)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/mining)
## Overview
diff --git a/mining/cpuminer/README.md b/mining/cpuminer/README.md
index 3724f0ff4..899a5aed0 100644
--- a/mining/cpuminer/README.md
+++ b/mining/cpuminer/README.md
@@ -1,11 +1,9 @@
cpuminer
========
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/mining/cpuminer)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/mining/cpuminer)
## Overview
diff --git a/peer/README.md b/peer/README.md
index 2f19e913b..1a0ba36e8 100644
--- a/peer/README.md
+++ b/peer/README.md
@@ -1,11 +1,9 @@
peer
====
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/peer)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/peer)
Package peer provides a common base for creating and managing bitcoin network
peers.
@@ -65,8 +63,7 @@ $ go get -u github.com/btcsuite/btcd/peer
## Examples
-* [New Outbound Peer Example]
- (https://godoc.org/github.com/btcsuite/btcd/peer#example-package--NewOutboundPeer)
+* [New Outbound Peer Example](https://godoc.org/github.com/btcsuite/btcd/peer#example-package--NewOutboundPeer)
Demonstrates the basic process for initializing and creating an outbound peer.
Peers negotiate by exchanging version and verack messages. For demonstration,
a simple handler for the version message is attached to the peer.
diff --git a/txscript/README.md b/txscript/README.md
index 71838edfa..579317345 100644
--- a/txscript/README.md
+++ b/txscript/README.md
@@ -1,11 +1,9 @@
txscript
========
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/txscript)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/txscript)
Package txscript implements the bitcoin transaction script language. There is
a comprehensive test suite.
@@ -28,18 +26,15 @@ $ go get -u github.com/btcsuite/btcd/txscript
## Examples
-* [Standard Pay-to-pubkey-hash Script]
- (http://godoc.org/github.com/btcsuite/btcd/txscript#example-PayToAddrScript)
+* [Standard Pay-to-pubkey-hash Script](http://godoc.org/github.com/btcsuite/btcd/txscript#example-PayToAddrScript)
Demonstrates creating a script which pays to a bitcoin address. It also
prints the created script hex and uses the DisasmString function to display
the disassembled script.
-* [Extracting Details from Standard Scripts]
- (http://godoc.org/github.com/btcsuite/btcd/txscript#example-ExtractPkScriptAddrs)
+* [Extracting Details from Standard Scripts](http://godoc.org/github.com/btcsuite/btcd/txscript#example-ExtractPkScriptAddrs)
Demonstrates extracting information from a standard public key script.
-* [Manually Signing a Transaction Output]
- (http://godoc.org/github.com/btcsuite/btcd/txscript#example-SignTxOutput)
+* [Manually Signing a Transaction Output](http://godoc.org/github.com/btcsuite/btcd/txscript#example-SignTxOutput)
Demonstrates manually creating and signing a redeem transaction.
## GPG Verification Key
diff --git a/wire/README.md b/wire/README.md
index 0e937a62f..a720b644c 100644
--- a/wire/README.md
+++ b/wire/README.md
@@ -1,11 +1,9 @@
wire
====
-[]
-(https://travis-ci.org/btcsuite/btcd) [![ISC License]
-(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[]
-(http://godoc.org/github.com/btcsuite/btcd/wire)
+[](https://travis-ci.org/btcsuite/btcd)
+[](http://copyfree.org)
+[](http://godoc.org/github.com/btcsuite/btcd/wire)
Package wire implements the bitcoin wire protocol. A comprehensive suite of
tests with 100% test coverage is provided to ensure proper functionality.