lnd.xprv/channeldb
Wilmer Paulino 6075997ebc
multi: add relative thaw height interpretation
This is useful when we wish to have a channel frozen for a specific
amount of blocks after its confirmation. This could also be done with an
absolute thaw height, but it does not suit cases where a strict block
delta needs to be enforced, as it's not possible to know for certain
when a channel will be included in the chain. To work around this, we
add a relative interpretation of the field, where if its value is below
500,000, then it's interpreted as a relative height. This approach
allows us to prevent further database modifications to account for a
relative thaw height.
2020-07-02 12:05:49 -07:00
..
kvdb lnd+kvdb: pass LND abort context to etcd 2020-06-03 17:44:44 +02:00
migration channeldb/migration: add generic CreateTLB migration 2020-05-26 18:55:27 -07:00
migration_01_to_11 multi: rename: ReadBucket to RBucket 2020-05-26 18:21:08 -07:00
migration12 channeldb: convert to uniformly use new kvdb abstractions 2020-03-18 19:34:49 -07:00
migration13 channeldb: convert to uniformly use new kvdb abstractions 2020-03-18 19:34:49 -07:00
migration16 channeldb: index payments by sequence number 2020-06-10 12:49:06 +02:00
migtest Merge pull request #4285 from cfromknecht/pay-addr-index 2020-05-27 17:36:30 -07: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 kvdb+etcd: enable channeldb testing with both bdb/etcd 2020-05-22 11:26:25 +02:00
channel.go multi: add relative thaw height interpretation 2020-07-02 12:05:49 -07:00
codec.go channeldb: index payments by sequence number 2020-06-10 12:49:06 +02:00
db_test.go channeldb: remove graph insertion of restored channels 2020-06-18 14:51:44 -07:00
db.go channeldb: remove graph insertion of restored channels 2020-06-18 14:51:44 -07: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 multi: rename: ReadBucket to RBucket 2020-05-26 18:21:08 -07:00
error.go channeldb+invoices: use payment addr as primary index 2020-05-26 18:55:27 -07: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: rename ReadTx to RTx 2020-05-26 18:20:37 -07:00
forwarding_package_test.go multi: rename ReadTx to RTx 2020-05-26 18:20:37 -07:00
forwarding_package.go multi: rename: ReadBucket to RBucket 2020-05-26 18:21:08 -07:00
graph_test.go multi: rename ReadTx to RTx 2020-05-26 18:20:37 -07:00
graph.go multi: rename: ReadBucket to RBucket 2020-05-26 18:21:08 -07:00
invoice_test.go channeldb/invoices: special-case all zeros pay addr 2020-06-26 02:00:03 -07:00
invoices.go channeldb/invoices: special-case all zeros pay addr 2020-06-26 02:00:03 -07:00
legacy_serialization.go Revert "channeldb: remove unsupported migrations" 2019-10-12 00:47:45 -07:00
log.go channeldb: index payments by sequence number 2020-06-10 12:49:06 +02:00
meta_test.go multi: rename ReadTx to RTx 2020-05-26 18:20:37 -07:00
meta.go multi: rename ReadTx to RTx 2020-05-26 18:20:37 -07:00
mp_payment.go routing: return full htlc attempt from shard handler 2020-05-12 19:56:50 +02:00
nodes_test.go channeldb: add DeleteLinkNode method 2018-07-17 17:35:25 -07:00
nodes.go multi: rename ReadTx to RTx 2020-05-26 18:20:37 -07:00
options.go channeldb/db: adds optional dry-run abort for migrations 2020-05-11 15:38:45 -07:00
paginate.go channeldb: add a paginator struct to process generic pagination 2020-06-10 12:49:48 +02:00
payment_control_test.go channeldb: index payments by sequence number 2020-06-10 12:49:06 +02:00
payment_control.go channeldb: index payments by sequence number 2020-06-10 12:49:06 +02:00
payments_test.go channeldb: update QueryPayments to use sequence nr index and paginator 2020-06-10 12:55:05 +02:00
payments.go channeldb: update QueryPayments to use sequence nr index and paginator 2020-06-10 12:55:05 +02: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: rename ReadTx to RTx 2020-05-26 18:20:37 -07:00
witness_cache_test.go channeldb+witness_beacon: use sha256 lookup+delete witness 2019-02-19 17:06:42 -08:00
witness_cache.go multi: rename ReadTx to RTx 2020-05-26 18:20:37 -07: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