mirror of
https://github.com/aljazceru/breez-lnd.git
synced 2026-01-23 00:04:31 +01:00
In this commit, we restructure the OpenChannel struct to used two distinct ChannelCommitments: one for the remote party, and one for the local party. With this, we now partition the local state and the remote state. Previously, we weren’t properly tracking the state of the remote party. As a result, there were certain classes of failures we were unable to properly recover from. With this separation, we can now handle them, and the OpenChannel struct is slimmer and more understandable.
channeldb
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