5d20c02ea8
In this commit, we add two new indexes to the invoice database: the add index, and the settle index. These to indexes essentially form a time series index on top of the existing primary index bucket. Each time an invoice is added, we'll advance the addIndex seqno, and then create a mapping from seqNo -> invoiceNum. Each time an invoice is settled, we'll do the same, but within the settle index. This change is required in order to allow callers to effectively seek into the current invoice database in order to obtain notifications for any invoices they may have missed out on while they were disconnected. This will allow us to implement robust streaming invoice notifications within lnd to ensure that clients never miss an event. |
||
---|---|---|
.. | ||
addr_test.go | ||
addr.go | ||
channel_test.go | ||
channel.go | ||
codec.go | ||
db_test.go | ||
db.go | ||
doc.go | ||
error.go | ||
fees.go | ||
forwarding_log_test.go | ||
forwarding_log.go | ||
forwarding_package_test.go | ||
forwarding_package.go | ||
graph_test.go | ||
graph.go | ||
invoice_test.go | ||
invoices.go | ||
log.go | ||
meta_test.go | ||
meta.go | ||
migrations.go | ||
nodes_test.go | ||
nodes.go | ||
payments_test.go | ||
payments.go | ||
README.md | ||
waitingproof_test.go | ||
waitingproof.go | ||
witness_cache_test.go | ||
witness_cache.go |
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