2015-01-27 18:45:10 +01:00
|
|
|
database
|
|
|
|
========
|
2013-05-29 02:03:53 +02:00
|
|
|
|
2015-01-27 18:45:10 +01:00
|
|
|
[![Build Status](http://img.shields.io/travis/btcsuite/btcd.svg)]
|
|
|
|
(https://travis-ci.org/btcsuite/btcd) [![ISC License]
|
2014-12-23 05:46:39 +01:00
|
|
|
(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
|
2013-12-11 02:17:44 +01:00
|
|
|
|
2015-01-27 18:45:10 +01:00
|
|
|
Package database provides a database interface for the bitcoin block chain and
|
2014-12-23 05:50:17 +01:00
|
|
|
transactions.
|
2013-05-29 02:07:21 +02:00
|
|
|
|
2015-01-28 01:58:27 +01:00
|
|
|
Please note that this package is intended to enable btcd to support different
|
|
|
|
database backends and is not something that a client can directly access as only
|
|
|
|
one entity can have the database open at a time (for most database backends),
|
|
|
|
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).
|
|
|
|
|
2013-05-29 02:07:21 +02:00
|
|
|
## Documentation
|
|
|
|
|
2014-12-23 05:46:39 +01:00
|
|
|
[![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg)]
|
2015-01-27 18:45:10 +01:00
|
|
|
(http://godoc.org/github.com/btcsuite/btcd/database)
|
2014-07-08 15:26:17 +02:00
|
|
|
|
2013-05-29 02:07:21 +02:00
|
|
|
Full `go doc` style documentation for the project can be viewed online without
|
|
|
|
installing this package by using the GoDoc site
|
2015-01-27 18:45:10 +01:00
|
|
|
[here](http://godoc.org/github.com/btcsuite/btcd/database).
|
2013-05-29 02:07:21 +02:00
|
|
|
|
|
|
|
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
|
2015-01-27 18:45:10 +01:00
|
|
|
http://localhost:6060/pkg/github.com/btcsuite/btcd/database
|
2013-05-29 02:07:21 +02:00
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
```bash
|
2015-01-27 18:45:10 +01:00
|
|
|
$ go get github.com/btcsuite/btcd/database
|
2013-05-29 02:07:21 +02:00
|
|
|
```
|
|
|
|
|
2014-07-08 15:45:37 +02:00
|
|
|
## Examples
|
|
|
|
|
|
|
|
* [CreateDB Example]
|
2015-01-27 18:45:10 +01:00
|
|
|
(http://godoc.org/github.com/btcsuite/btcd/database#example-CreateDB)
|
2014-07-08 16:10:14 +02:00
|
|
|
Demonstrates creating a new database and inserting the genesis block into it.
|
|
|
|
|
|
|
|
* [NewestSha Example]
|
2015-01-27 18:45:10 +01:00
|
|
|
(http://godoc.org/github.com/btcsuite/btcd/database#example-Db--NewestSha)
|
2014-07-08 16:10:14 +02:00
|
|
|
Demonstrates querying the database for the most recent best block height and
|
|
|
|
hash.
|
2014-07-08 15:45:37 +02:00
|
|
|
|
2013-05-29 02:07:21 +02:00
|
|
|
## TODO
|
|
|
|
- Increase test coverage to 100%
|
|
|
|
|
|
|
|
## GPG Verification Key
|
|
|
|
|
|
|
|
All official release tags are signed by Conformal so users can ensure the code
|
|
|
|
has not been tampered with and is coming from Conformal. To verify the
|
|
|
|
signature perform the following:
|
|
|
|
|
|
|
|
- Download the public key from the Conformal website at
|
|
|
|
https://opensource.conformal.com/GIT-GPG-KEY-conformal.txt
|
|
|
|
|
|
|
|
- Import the public key into your GPG keyring:
|
|
|
|
```bash
|
|
|
|
gpg --import GIT-GPG-KEY-conformal.txt
|
|
|
|
```
|
|
|
|
|
|
|
|
- Verify the release tag with the following command where `TAG_NAME` is a
|
|
|
|
placeholder for the specific tag:
|
|
|
|
```bash
|
|
|
|
git tag -v TAG_NAME
|
|
|
|
```
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
2015-01-27 18:45:10 +01:00
|
|
|
Package database is licensed under the [copyfree](http://copyfree.org) ISC
|
|
|
|
License.
|