lnd/channeldb
Olaoluwa Osuntokun dd4cab054d
channeldb: ensure items from the update index are actually deleted
In this commit, we fix an existing bug in the new graph query sync
feature. Before this commit, when a block is pruned, we would never
actually delete the update index entries. This is due to the fact that
we would attempt to delete the entries from the update index _after_ we
had already removed the edges from the update index.

We fix this by simply swapping the order: first we delete from the
update index, then we delete the edges themselves. A test ensuring that
the entires are cleared (which failed before this commit), has been
added.
2018-06-05 17:30:56 -07:00
..
addr_test.go channeldb: add address serialization tests 2018-06-04 20:41:34 -07:00
addr.go channeldb: implement serialization of onion addresses 2018-06-04 20:41:33 -07:00
channel_test.go multi: use mutex-guarded ShortChanID() on OpenChannel 2018-05-09 16:06:49 -07:00
channel.go Merge pull request #1248 from halseth/close-channel-fix 2018-05-24 18:28:31 -07:00
codec.go channeldb/codec: add ChannelStatus 2018-04-25 09:37:24 +02:00
db_test.go multi: comprehensive typo fixes across all packages 2018-02-06 19:11:11 -08:00
db.go channeldb: add database migration for new node+edge update indexes 2018-05-31 16:30:54 -07: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 new ForwardingLog storage namespace 2018-03-06 13:56:06 -05:00
fees.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00
forwarding_log_test.go channeldb: add a set of initial tests for the ForwardingLog 2018-03-06 13:56:09 -05:00
forwarding_log.go build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08:00
forwarding_package_test.go build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08:00
forwarding_package.go build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08:00
graph_test.go channeldb: ensure items from the update index are actually deleted 2018-06-05 17:30:56 -07:00
graph.go channeldb: ensure items from the update index are actually deleted 2018-06-05 17:30:56 -07:00
invoice_test.go multi: comprehensive typo fixes across all packages 2018-02-06 19:11:11 -08:00
invoices.go multi: fix a-vs-an typos 2018-04-17 19:02:04 -07:00
log.go lnd: remove seelog logger 2017-06-25 14:19:56 +01:00
meta_test.go build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08:00
meta.go build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08:00
migrations.go channeldb: add database migration for new node+edge update indexes 2018-05-31 16:30:54 -07:00
nodes_test.go multi: comprehensive typo fixes across all packages 2018-02-06 19:11:11 -08:00
nodes.go multi: ensure addresses are no longer assumed to be TCP addresses only 2018-06-04 20:41:49 -07:00
payments_test.go channeldb+lnrpc: store the payment pre-image not rhash 2018-01-27 18:36:33 -08:00
payments.go build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08:00
README.md build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08:00
waitingproof_test.go channeldb: use raw pub keys and signatures directly in vertex/edge structs 2018-02-06 20:14:31 -08:00
waitingproof.go build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08:00
witness_cache_test.go channeldb: add new WitnessCache structure 2018-01-22 19:19:37 -08:00
witness_cache.go build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08: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