lnd/channeldb
positiveblue 5ff5225245
multi: break invoice depenency on channeldb
Now that we have the new package `lnd/channeldb/models` we can invert the
depenency between `channeldb` and `invoices`.

- Move all the invoice related types and errors to the
`invoices` package.

- Ensure that all the packages dealing with invoices use the types and
  interfaces defined in the `invoices` package.

- Implement the InvoiceDB interface (defined in `lnd/invoices`) in
  channeldb.

- Add new mock for InterfaceDB.

- `InvoiceRegistery` tests are now in its own subpacakge (they need to
  import both invoices & channeldb). This is temporary until we can
  decouple them.
2023-01-16 07:31:09 -08:00
..
2022-08-23 22:10:24 +08:00
2022-08-23 22:10:24 +08:00
2022-08-23 22:10:24 +08:00
2022-08-23 22:10:24 +08:00
2022-10-27 16:42:36 +02:00
2022-10-27 16:43:09 +02:00
2022-01-24 12:19:02 +02:00
2022-08-23 22:10:24 +08:00
2022-08-23 22:10:24 +08:00
2022-02-10 11:02:01 +01:00
2022-08-23 22:10:24 +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