Package database provides a block and metadata storage database.
Please note that this package is intended to enable pod to support different database backends and is not something that a client can directly access as onlyone entity can have the database open at a time (for most database backends) , and that entity will be pod.
When a client wants programmatic access to the data provided by pod, they'll likely want to use the rpcclient package which makes use of the JSON-RPC API.
However, this package could be extremely useful for any applications requiring Bitcoin block storage capabilities.
The default backend, ffldb, has a strong focus on speed, efficiency, and robustness. It makes use of leveldb for the metadata, flat files for blockstorage, and strict checksums in key areas to ensure data integrity.
$ go get -u github.com/p9c/p9/database
Demonstrates creating a new database and using a managed read-write transaction to store and retrieve metadata.
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.
Package database is licensed under the copyfree ISC License.