mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-02-22 22:25:24 +01:00
This commit introduces two new structs to the channeled package: ChannelConfig and ChannelConstraints. The ChannelConfig struct will eliminate many of the fields on the OpenChannel struct (ours vs theirs), in favor of having a single config for both sides (local and remote). The ChannelConstraints struct will house the channel flow control and HTLC policies for both sides. The fields of this struct will be used to control the flow of HTLC’s within the channel. In the occasion that any of these constraints are violated, either the connection, or the channel entirely is to be failed. |
||
---|---|---|
.. | ||
channel.go | ||
channel_test.go | ||
db.go | ||
db_test.go | ||
doc.go | ||
error.go | ||
fees.go | ||
graph.go | ||
graph_test.go | ||
invoice_test.go | ||
invoices.go | ||
log.go | ||
meta.go | ||
meta_test.go | ||
migrations.go | ||
nodes.go | ||
nodes_test.go | ||
payments.go | ||
payments_test.go | ||
README.md | ||
waitingproof.go | ||
waitingproof_test.go |
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