lnd.xprv/channeldb
Olaoluwa Osuntokun a092b0d82c
channeldb: introduce ChannelConfig and ChannelConstraints
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.
2017-07-30 17:48:09 -07:00
..
channel_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
channel.go channeldb: introduce ChannelConfig and ChannelConstraints 2017-07-30 17:48:09 -07:00
db_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
db.go channeldb: reset database version back to zero 2017-07-30 17:48:04 -07:00
doc.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00
error.go channeldb: fix type in ErrSourceNodeNotSet comment 2017-07-30 17:48:01 -07:00
fees.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00
graph_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
graph.go channeldb: add new ChannelView method to the ChannelGraph 2017-05-11 15:20:23 -07:00
invoice_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
invoices.go multi: replace usage of fastsha256 with crypto/sha256 2017-03-15 18:56:41 -07:00
log.go lnd: remove seelog logger 2017-06-25 14:19:56 +01:00
meta_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
meta.go lnd: fix gosimple warnings 2017-03-13 16:30:23 -07:00
migrations.go channeldb: remove prior migrations as their no longer needed 2017-07-30 17:47:58 -07:00
nodes_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
nodes.go lnd: fix gosimple warnings 2017-03-13 16:30:23 -07:00
payments_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
payments.go channeldb: use the Batch method when writing payment details 2017-04-11 22:02:09 -07:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
waitingproof_test.go multi: run all test instances in parallel 2017-06-17 01:00:07 +02:00
waitingproof.go channeldb: add waiting proof storage 2017-05-05 17:02:49 -07: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