lnd.xprv/channeldb
Conner Fromknecht 86b347c996
channeldb/payments: make payment status helper methods
This commit splits FetchPaymentStatus and
UpdatePaymentStatus, such that they each invoke
helper methods that can be composed into different
db txns. This enables us to improve performance on
send/receive, as we can remove the exclusive lock
from the control tower, and allow concurrent calls
to utilize Batch more effectively.
2018-08-21 19:23:25 -07:00
..
addr_test.go multi: fix linting errors 2018-08-02 18:20:50 -07:00
addr.go channledb/addr: remove silent encoding failure for unknown types 2018-07-03 17:07:10 -07:00
channel_test.go channeldb: extend TestFetchClosedChannels to populate local chan cfg properly 2018-08-14 19:11:41 -07:00
channel.go channeldb/channel: adds readLogKey for chanids 2018-08-21 00:30:26 -07:00
codec.go multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
db_test.go channeldb/db_test: move migration helper back to meta_test 2018-08-21 19:23:23 -07:00
db.go channeldb/db: add comment describing migration 2018-08-21 19:23:23 -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/error: adds ErrDBReversion error 2018-08-02 16:45:03 -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 channeldb/forwarding_log: use public Read/WriteElements 2018-07-03 17:07:09 -07:00
forwarding_package_test.go multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
forwarding_package.go channeldb/forwarding_package: loosen Add/SettleFailRef acking 2018-08-21 00:30:23 -07:00
graph_test.go channeldb: add new TestNodePruningUpdateIndexDeletion test 2018-08-16 18:20:58 -07:00
graph.go channeldb: ensure that we remove update index entries for nodes upon deletion 2018-08-16 18:22:55 -07:00
invoice_test.go channeldb: add new test for duplicate invoice settles 2018-07-17 16:27:04 -07:00
invoices.go channeldb: ensure that we return an invoice on duplicate settles 2018-07-17 16:28:08 -07:00
log.go lnd: remove seelog logger 2017-06-25 14:19:56 +01:00
meta_test.go channeldb/meta_test: restore migration helper + godocs 2018-08-21 19:23:23 -07:00
meta.go build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08:00
migrations_test.go channeldb/migrations_test: assert locally-sourced circuits... 2018-08-21 19:23:25 -07:00
migrations.go channeldb/migrations: mark locally-sourced payments as InFlight... 2018-08-21 19:23:25 -07:00
nodes_test.go channeldb: add DeleteLinkNode method 2018-07-17 17:35:25 -07:00
nodes.go multi: fix linting errors 2018-08-02 18:20:50 -07:00
payments_test.go channeldb: test of payment statuses transitions 2018-08-21 19:23:21 -07:00
payments.go channeldb/payments: make payment status helper methods 2018-08-21 19:23:25 -07: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