This commit adds a new method to the OpenChannel struct: InsertNextRevocation. This functionality is required in order to properly implement the new funding workflow and commitment transaction state machine. In the prior state machine, we utilized the “initial revocation window” which would provide both sides with the necessary revocation keys that they needed to create new commitment states. The version of the commitment state machine within the specification has been simplified a bit, and instead essentially incorporates a revocation window of 1. The window is initially filled at the _opening_ of the commitment transaction, then never extended, only “slid down” from there on. |
||
---|---|---|
.. | ||
channel_test.go | ||
channel.go | ||
db_test.go | ||
db.go | ||
doc.go | ||
error.go | ||
fees.go | ||
graph_test.go | ||
graph.go | ||
invoice_test.go | ||
invoices.go | ||
log.go | ||
meta_test.go | ||
meta.go | ||
migrations.go | ||
nodes_test.go | ||
nodes.go | ||
payments_test.go | ||
payments.go | ||
README.md | ||
waitingproof_test.go | ||
waitingproof.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