lbcd/database/ffldb
Josh Rickmar a6965d493f all: Remove seelog logger.
The btclog package has been changed to defining its own logging
interface (rather than seelog's) and provides a default implementation
for callers to use.

There are two primary advantages to the new logger implementation.

First, all log messages are created before the call returns.  Compared
to seelog, this prevents data races when mutable variables are logged.

Second, the new logger does not implement any kind of artifical rate
limiting (what seelog refers to as "adaptive logging").  Log messages
are outputted as soon as possible and the application will appear to
perform much better when watching standard output.

Because log rotation is not a feature of the btclog logging
implementation, it is handled by the main package by importing a file
rotation package that provides an io.Reader interface for creating
output to a rotating file output.  The rotator has been configured
with the same defaults that btcd previously used in the seelog config
(10MB file limits with maximum of 3 rolls) but now compresses newly
created roll files.  Due to the high compressibility of log text, the
compressed files typically reduce to around 15-30% of the original
10MB file.
2017-06-19 16:46:50 -04:00
..
bench_test.go multi: Simplify code per gosimple linter. 2016-11-03 13:00:35 -05:00
blockio.go all: Remove seelog logger. 2017-06-19 16:46:50 -04:00
db.go chainhash: Abstract hash logic to new package. (#729) 2016-08-08 14:04:33 -05: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.