lnd.xprv/channeldb
Olaoluwa Osuntokun 8dcfeeaef5 channeldb: explicitly store the FinalCltvDelta within the ContractTerm struct
In this commit, we move to explicitly storing a bit more information
within the invoice. Currently this information is already stored in the
payment request, but by storing it at this level, callers that may not
be in the state to fully decode a payment request can obtain this data.

We avoid a database migration by appending this data to the end of an
invoice. When decoding, we'll try to read out this extra information,
and simply return what we have if it isn't found.
2018-06-26 19:49:49 -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 channeldb/channel_test: test packager source updated 2018-06-19 13:48:08 +01:00
channel.go channeldb/channel: update short chan id for fwd packager 2018-06-19 13:48:08 +01: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 channeldb: explicitly store the FinalCltvDelta within the ContractTerm struct 2018-06-26 19:49:49 -07:00
invoices.go channeldb: explicitly store the FinalCltvDelta within the ContractTerm struct 2018-06-26 19:49:49 -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 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