lbcd/database/ffldb
Jim Posen ad00e7ff82 database: Stop writing block header data to LevelDB.
Now that all headers are stored in the in-memory index, the database
bucket managed by blockchain, and in the flat files, it makes sense to
drop the redundant data from the block index bucket in ffldb.

To avoid modifying the database interface, this reimplements
FetchBlockHeader(s) to use header data stored in flat files. This can
be trivially implemented by delegating to FetchBlockRegion.
2018-01-28 23:34:56 -06:00
..
bench_test.go multi: Simplify code per gosimple linter. 2016-11-03 13:00:35 -05:00
blockio.go multi: Simplify code per gosimple linter. 2017-07-01 02:25:10 -05:00
db.go database: Stop writing block header data to LevelDB. 2018-01-28 23:34:56 -06:00
dbcache.go multi: Simplify code per gosimple linter. 2016-11-03 13:00:35 -05:00
doc.go database: Replace with new version. 2016-04-12 14:55:15 -05:00
driver.go database: Replace with new version. 2016-04-12 14:55:15 -05:00
driver_test.go database: Replace with new version. 2016-04-12 14:55:15 -05:00
export_test.go database: Replace with new version. 2016-04-12 14:55:15 -05:00
interface_test.go multi: Simplify code per gosimple linter. 2016-11-03 13:00:35 -05:00
ldbtreapiter.go database: Replace with new version. 2016-04-12 14:55:15 -05:00
mockfile_test.go database: Replace with new version. 2016-04-12 14:55:15 -05:00
README.md multi: Update markdown files for GFM changes. 2017-05-25 12:06:16 -05:00
reconcile.go all: Remove seelog logger. 2017-06-19 16:46:50 -04:00
whitebox_test.go chainhash: Abstract hash logic to new package. (#729) 2016-08-08 14:04:33 -05:00

ffldb

Build Status ISC License GoDoc

Package ffldb implements a driver for the database package that uses leveldb for the backing metadata and flat files for block storage.

This driver is the recommended driver for use with btcd. It makes use leveldb for the metadata, flat files for block storage, and checksums in key areas to ensure data integrity.

Package ffldb is licensed under the copyfree ISC license.

Usage

This package is a driver to the database package and provides the database type of "ffldb". The parameters the Open and Create functions take are the database path as a string and the block network.

db, err := database.Open("ffldb", "path/to/database", wire.MainNet)
if err != nil {
	// Handle error
}
db, err := database.Create("ffldb", "path/to/database", wire.MainNet)
if err != nil {
	// Handle error
}

License

Package ffldb is licensed under the copyfree ISC License.