lnd/channeldb
Oliver Gugger b147d589c1
channeldb: add NoMigration mode
In case the channeldb package is used as a library in external tools, it
can be useful to allow read-only access to a DB. This allows such a
tool to access a DB even if not all migrations were executed, which can
be useful for recovery purposes.
To make it possible to even start the DB with a read-only backend, we
need to disable the automatic migration step.
2021-12-13 12:31:49 +01:00
..
migration kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migration12 kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migration13 kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migration16 kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migration20 kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migration21 kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migration23 channeldb: migration to flatten the htlc attempts bucket 2021-09-07 10:46:49 +02:00
migration24 channeldb/migration: remove old forwarding packages 2021-09-23 13:22:34 +08:00
migration_01_to_11 kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migtest kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
addr_test.go
addr.go
channel_cache_test.go
channel_cache.go
channel_test.go multi: move all channelstate operations to ChannelStateDB 2021-09-29 17:00:03 +02:00
channel.go channeldb: add new ChannelType bit for script enforced leased channels 2021-10-19 18:30:19 -07:00
codec.go channeldb+htlcswitch: write wire messages using length prefix 2021-02-24 17:15:27 +01:00
db_test.go channeldb/test: test with postgres 2021-10-29 10:54:44 +02:00
db.go channeldb: add NoMigration mode 2021-12-13 12:31:49 +01:00
doc.go
duplicate_payments.go channeldb: read raw htlc attempt session key 2021-05-19 09:03:52 +02:00
error.go
fees.go
forwarding_log_test.go
forwarding_log.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
forwarding_package_test.go channeldb: add method to wipe all forwarding packages 2021-09-23 13:22:33 +08:00
forwarding_package.go channeldb: add method to wipe all forwarding packages 2021-09-23 13:22:33 +08:00
graph_cache_test.go channeldb: add new ForEachNode method using the channel graph cache 2021-11-04 15:30:25 -07:00
graph_cache.go channeldb: avoid locking the graph cache while iterating channels 2021-11-08 12:40:14 +01:00
graph_test.go channeldb: add NoMigration mode 2021-12-13 12:31:49 +01:00
graph.go channeldb: add NoMigration mode 2021-12-13 12:31:49 +01:00
invoice_test.go channeldb: add new TestSettleIndexAmpPayments test case 2021-10-28 15:50:25 -07:00
invoices.go channeldb: optimize updateInvoice for AMP by only reading relevant HTLCs 2021-10-28 15:50:15 -07:00
legacy_serialization.go
log.go channeldb/migration: remove old forwarding packages 2021-09-23 13:22:34 +08:00
meta_test.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
meta.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
mp_payment_test.go channeldb: read raw htlc attempt session key 2021-05-19 09:03:52 +02:00
mp_payment.go channeldb: cache htlc attempt session key 2021-05-19 09:08:18 +02:00
nodes_test.go multi: move all channelstate operations to ChannelStateDB 2021-09-29 17:00:03 +02:00
nodes.go multi: carve out LinkNodeDB from channeldb.DB for cleaner separation 2021-09-29 17:00:02 +02:00
options_test.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
options.go channeldb: add NoMigration mode 2021-12-13 12:31:49 +01:00
paginate.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
payment_control_test.go channeldb: add ability to delete a single payment from its ID 2021-09-13 12:50:40 +02:00
payment_control.go payments: prefetch payment on hot paths 2021-09-14 13:12:23 +02:00
payments_test.go channeldb: cache htlc attempt session key 2021-05-19 09:08:18 +02:00
payments.go channeldb: add ability to delete a single payment from its ID 2021-09-13 12:50:40 +02:00
peers_test.go
peers.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
README.md
reject_cache_test.go
reject_cache.go
reports_test.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
reports.go mod+kvdb+channeldb: use btcwallet new DB interface 2021-08-04 14:55:55 +02:00
setup_test.go channeldb/test: test with postgres 2021-10-29 10:54:44 +02:00
waitingproof_test.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
waitingproof.go multi: move all channelstate operations to ChannelStateDB 2021-09-29 17:00:03 +02:00
witness_cache_test.go
witness_cache.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02: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