lnd.xprv/channeldb
Olaoluwa Osuntokun 24ae13d3a5
channeldb: add two methods to allow seeking into the invoice time series
In this commit, we add two new methods: InvoicesAddedSince and
InvoicesSettledSince. These methods will be used by higher level
sub-systems that implement notifications to deliver any notifications
backlog based on the last add index, and last settle index that the
client knows of.

It's important to note that care has been taken to ensure that this new
API can be used in a backwards compatible manner. If a client specifies
and index of 0 for either of the methods, then no backlog will be sent.
This is due to the fact that current users of the API don't expect any
backlog notifications to be sent. Additionally, the index actually
starts at 1, instead of 0.
2018-07-06 12:21:57 -07:00
..
addr_test.go channledb/addr_test: add negative test for unknown types 2018-07-03 17:07:10 -07:00
addr.go channledb/addr: remove silent encoding failure for unknown types 2018-07-03 17:07:10 -07:00
channel_test.go channeldb/channel_test: test packager source updated 2018-06-19 13:48:08 +01:00
channel.go channeldb/channel: use public Read/WriteElements 2018-07-03 17:07:09 -07:00
codec.go channledb/codec: add net.Addr and []net.Addr to codec 2018-07-03 17:07:10 -07:00
db_test.go multi: comprehensive typo fixes across all packages 2018-02-06 19:11:11 -08:00
db.go lntest: ensure we always cancel active streaming notifications 2018-07-06 12:21: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 channeldb/forwarding_log: use public Read/WriteElements 2018-07-03 17:07:09 -07: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 Revert "channeldb: explicitly store the FinalCltvDelta within the ContractTerm struct" 2018-06-29 12:40:42 -07:00
invoices.go channeldb: add two methods to allow seeking into the invoice time series 2018-07-06 12:21:57 -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 lntest: ensure we always cancel active streaming notifications 2018-07-06 12:21:54 -07: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 channeldb/waitingproof: improve external consistency of store 2018-06-05 21:33:47 -07: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