lnd/channeldb
Andras Banki-Horvath f33b5a4057
payments: allocate payment sequences in blocks
The bucket sequence we use as payment sequence makes the DB update in
InitPayment conflict and therefore queue up when many concurrent
payments happen. This change allocates payment sequences in blocks
of 1000 to avoid these conflicts.
2021-07-21 16:36:10 +02: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
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 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: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
channel.go Merge pull request #5245 from bhandras/kvdb_module 2021-05-13 15:59:20 -07:00
codec.go channeldb+htlcswitch: write wire messages using length prefix 2021-02-24 17:15:27 +01:00
db_test.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
db.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02: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: read raw htlc attempt session key 2021-05-19 09:03:52 +02: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: fix for Windows clock resolution 2020-08-05 09:15:03 +02:00
forwarding_log.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
forwarding_package_test.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
forwarding_package.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
graph_test.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
graph.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
invoice_test.go channeldb+invoice: add state filter to HTLCSet 2021-05-10 16:55:17 -07:00
invoices.go Merge pull request #5245 from bhandras/kvdb_module 2021-05-13 15:59:20 -07:00
legacy_serialization.go Revert "channeldb: remove unsupported migrations" 2019-10-12 00:47:45 -07:00
log.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02: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 channeldb: move makeTestDB out of test to make it available for other tests 2020-07-28 17:57:29 +02:00
nodes.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
options_test.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
options.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
paginate.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
payment_control_test.go channeldb: read raw htlc attempt session key 2021-05-19 09:03:52 +02:00
payment_control.go payments: allocate payment sequences in blocks 2021-07-21 16:36:10 +02:00
payments_test.go channeldb: cache htlc attempt session key 2021-05-19 09:08:18 +02:00
payments.go multi: unexport session key and add constructor for htlc attempt info 2021-05-19 09:03:46 +02:00
peers_test.go multi: store peer flap rate on disk on best effort basis 2020-09-08 13:49:46 +02:00
peers.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
README.md multi: unify code blocks in READMEs 2021-01-22 09:14:11 +01: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
reports_test.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
reports.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
waitingproof_test.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
waitingproof.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
witness_cache_test.go channeldb: move makeTestDB out of test to make it available for other tests 2020-07-28 17:57:29 +02:00
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