lnd.xprv/channeldb
Joost Jager 866623e84b
channeldb/migration13: migrate to mpp structure
This commit migrates the payments in the database to a new structure
that allows for multiple htlcs per payments. The migration introduces a
new sub-bucket that contains a list of htlcs and moves the old single
htlc into that.
2020-03-09 18:31:39 +01:00
..
migration_01_to_11 channeldb/migration_01_to_11: isolate route structure 2019-12-12 00:12:17 +01:00
migration12 channeldb: complete migration 12 for TLV invoices 2019-11-22 02:24:28 -08:00
migration13 channeldb/migration13: migrate to mpp structure 2020-03-09 18:31:39 +01:00
migtest channeldb/migtest: add migration test tools 2020-03-09 18:31:37 +01:00
addr_test.go channeldb/addr_test: add tests for invalid onion addresses 2019-01-17 14:16:15 +01:00
addr.go channeldb/addr: sanity check onion address length before writing to db 2019-01-17 14:16:15 +01:00
channel_cache_test.go channeldb/channel_cache: add channelCache w/ randomized eviction 2019-04-01 16:25:31 -07:00
channel_cache.go channeldb/channel_cache: add channelCache w/ randomized eviction 2019-04-01 16:25:31 -07:00
channel_test.go channeldb: save channel status on channel close 2020-02-21 13:33:53 +02:00
channel.go channeldb: save channel status on channel close 2020-02-21 13:33:53 +02:00
codec.go channeldb: Fix dropped error in migrations test 2019-09-12 15:49:21 +00:00
db_test.go channeldb: store close initiator status 2020-02-21 13:33:49 +02:00
db.go channeldb/migration13: migrate to mpp structure 2020-03-09 18:31:39 +01:00
doc.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00
duplicate_payments.go channeldb: isolate duplicate payments 2020-03-09 11:43:30 +01:00
error.go channeldb: add historical channel bucket lookup 2020-02-21 13:23:30 +02: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 multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
forwarding_package_test.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
forwarding_package.go multi: remove dead code 2019-09-10 17:21:59 +02:00
graph_test.go channeldb: add tx argument for FetchLightningNode 2019-12-20 10:17:01 +01:00
graph.go channeldb: add tx argument for FetchLightningNode 2019-12-20 10:17:01 +01:00
invoice_test.go channeldb: inject clock into database 2020-01-20 11:08:30 +01:00
invoices.go channeldb: inject clock into database 2020-01-20 11:08:30 +01:00
legacy_serialization.go Revert "channeldb: remove unsupported migrations" 2019-10-12 00:47:45 -07:00
log.go channeldb/migration13: migrate to mpp structure 2020-03-09 18:31:39 +01:00
meta_test.go channeldb: log error for migration test failures 2019-09-28 08:23:49 +02:00
meta.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
mp_payment.go channeldb+routing: store full htlc failure reason 2020-03-09 18:31:35 +01:00
nodes_test.go channeldb: add DeleteLinkNode method 2018-07-17 17:35:25 -07:00
nodes.go channeldb: add new AddrsForNode method 2019-01-28 20:24:22 -08:00
options.go channeldb: inject clock into database 2020-01-20 11:08:30 +01:00
payment_control_test.go channeldb+routing: store full htlc failure reason 2020-03-09 18:31:35 +01:00
payment_control.go channeldb+routing: store all payment htlcs 2020-03-09 18:31:33 +01:00
payments_test.go channeldb+routing: store all payment htlcs 2020-03-09 18:31:33 +01:00
payments.go channeldb+routing: store all payment htlcs 2020-03-09 18:31:33 +01:00
README.md build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08:00
reject_cache_test.go channeldb/reject_cache: add rejectCache w/ randomized eviction 2019-04-01 16:25:31 -07:00
reject_cache.go channeldb/reject_cache: add rejectCache w/ randomized eviction 2019-04-01 16:25:31 -07:00
waitingproof_test.go channeldb: Fix dropped error in migrations test 2019-09-12 15:49:21 +00:00
waitingproof.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
witness_cache_test.go channeldb+witness_beacon: use sha256 lookup+delete witness 2019-02-19 17:06:42 -08:00
witness_cache.go channeldb+witness_beacon: use sha256 lookup+delete witness 2019-02-19 17:06:42 -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