lnd/channeldb
positiveblue 8563e1f409
channeldb/invoices: add IsAMP and IsKeysend helpers
The only way to know if an invoice is AMP, Keysend, etc is to look at
its shape/characteristics. This commit adds a couple of helper functions
to encapsulate the logic of these checks.

If all these types cannot intersect: an invoice cannot be AMP and
Keysend or Keysend and Bolt12, etc it could be useful to add an extra
field to store this information instead of relying on checking how the
invoice looks like.
2023-01-20 03:43:39 -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