lnd.xprv/channeldb
Olaoluwa Osuntokun 7a36fb4562
channeldb: fix assumption that both channel edges will always be advertised
This commit fixes a prior bug in the graph database due to an invalid
assumption that both channel edges would _always_ be advertised. This
assumption is invalid, as it’s up to a node’s policy if the advertise
their direction of the channel.

The fix for this assumption is straight forward: ErrEdgeNotFound is no
longer a critical error, instead a nil pointer will now be passed into
the passed callback function.
2017-01-17 13:01:19 -08:00
..
channel_test.go multi: update btcsuite API's to latest upstream changes 2017-01-05 13:56:34 -08:00
channel.go multi: update btcsuite API's to latest upstream changes 2017-01-05 13:56:34 -08:00
db_test.go channeldb: Open is no longer dependant on a specific set of chain params 2016-12-27 16:43:19 -08:00
db.go channeldb: ensure the edge index bucket is created during creation 2016-12-27 16:44:10 -08: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 support for channel graph pruning 2016-12-27 16:43:12 -08: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: update btcsuite API's to latest upstream changes 2017-01-05 13:56:34 -08:00
graph.go channeldb: fix assumption that both channel edges will always be advertised 2017-01-17 13:01:19 -08:00
invoice_test.go channeldb: ensure the cleanUp func is always run during tests 2016-12-27 16:43:17 -08:00
invoices.go channeldb: fix minor typo 2017-01-07 21:22:08 -08:00
log.go multi: create lnd's logging infrastructure 2016-03-22 18:43:10 -07:00
meta_test.go channeldb: ensure the cleanUp func is always run during tests 2016-12-27 16:43:17 -08:00
meta.go channeldb: slightly refactor the [Fetch|Put]Meta methods 2016-11-27 18:44:23 -08:00
nodes_test.go channeldb: add bucket for storing p2p counterparty meta-data 2016-10-25 16:06:32 -07:00
nodes.go channeldb: properly check for a nil bucket when fetching LinkNodes 2016-12-14 17:49:11 -08:00
payments_test.go channeldb: modify new payments module to match project code-style 2016-12-30 16:32:25 -08:00
payments.go channeldb: modify new payments module to match project code-style 2016-12-30 16:32:25 -08:00
README.md multi: add link to LICENSE in README license badges (#100) 2017-01-12 16:31:08 -08:00

channeldb

[Build Status] (https://travis-ci.org/lightningnetwork/lnd) [MIT licensed] (https://github.com/lightningnetwork/lnd/blob/master/LICENSE) [GoDoc] (http://godoc.org/github.com/lightningnetwork/lnd/channeldb)

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