lnd/channeldb
Andrey Samokhvalov 8fa2b95c12 lnd: 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-25 14:19:56 +01:00
..
channel_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
channel.go channeldb: replace opening height will short chan ID in OpenChannel 2017-06-16 22:28:58 +02:00
db_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
db.go channeldb: replace opening height will short chan ID in OpenChannel 2017-06-16 22:28:58 +02:00
doc.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00
error.go channeldb: add test for new channel closure persistence 2017-05-04 17:39:05 -07:00
fees.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00
graph_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
graph.go channeldb: add new ChannelView method to the ChannelGraph 2017-05-11 15:20:23 -07:00
invoice_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
invoices.go multi: replace usage of fastsha256 with crypto/sha256 2017-03-15 18:56:41 -07:00
log.go lnd: remove seelog logger 2017-06-25 14:19:56 +01:00
meta_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
meta.go lnd: fix gosimple warnings 2017-03-13 16:30:23 -07:00
migrations.go channedb: add db migration for databases before delivery script bug fix 2017-02-08 13:05:45 -08:00
nodes_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
nodes.go lnd: fix gosimple warnings 2017-03-13 16:30:23 -07:00
payments_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
payments.go channeldb: use the Batch method when writing payment details 2017-04-11 22:02:09 -07:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
waitingproof_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
waitingproof.go channeldb: add waiting proof storage 2017-05-05 17:02:49 -07:00

channeldb

Build Status MIT licensed GoDoc

The channeldb implements the persistent storage engine for lnd and generically a data storage layer for the required state within the Lightning Network. The backing storage engine is boltdb, an embedded pure-go key-value store based off of LMDB.

The package implements an object-oriented storage model with queries and mutations flowing through a particular object instance rather than the database itself. The storage implemented by the objects includes: open channels, past commitment revocation states, the channel graph which includes authenticated node and channel announcements, outgoing payments, and invoices

Installation and Updating

$ go get -u github.com/lightningnetwork/lnd/channeldb