lnd.xprv/channeldb
Olaoluwa Osuntokun 2c29a20a8d
channeldb: split ChannelEdge into two structs, info and policy
This commit splits the prior ChannelEdge struct into two distinct
structs: ChannelEdgeInfo and ChannelEdgePolicy. The info structs stores
the _full_ information that was used to advertise the channel, while
the policy struct contains the information that’s needed in order to
use the information for routing purposes.

With this split we can eliminate a number of hacks within the rest of
the codebase that were added as a result of data unavailability if one
or neither edge was present.

Finally a bit of field renaming has taken place (Exipiry ->
TimeLockDelta), etc.
2017-03-05 19:18:34 -06:00
..
channel_test.go lnwallet+channeldb: update callers to shachain API changes 2017-02-24 16:31:45 -08:00
channel.go lnwallet+channeldb: update callers to shachain API changes 2017-02-24 16:31:45 -08:00
db_test.go channeldb: fix warnings found by go vet 2017-02-07 16:52:04 -08:00
db.go channeldb: added isPending flag and queries 2017-02-24 11:37:33 -08: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: add support for channel graph pruning 2016-12-27 16:43:12 -08: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: update btcsuite API's to latest upstream changes 2017-01-05 13:56:34 -08:00
graph.go channeldb: split ChannelEdge into two structs, info and policy 2017-03-05 19:18:34 -06:00
invoice_test.go channeldb: ensure the cleanUp func is always run during tests 2016-12-27 16:43:17 -08:00
invoices.go multi: fix a variety of typos throughout the repo 2017-01-17 17:02:56 -08:00
log.go multi: create lnd's logging infrastructure 2016-03-22 18:43:10 -07:00
meta_test.go channedb: add db migration for databases before delivery script bug fix 2017-02-08 13:05:45 -08:00
meta.go channeldb: slightly refactor the [Fetch|Put]Meta methods 2016-11-27 18:44:23 -08:00
migrations.go channedb: add db migration for databases before delivery script bug fix 2017-02-08 13:05:45 -08:00
nodes_test.go channeldb: add bucket for storing p2p counterparty meta-data 2016-10-25 16:06:32 -07:00
nodes.go channeldb: fix warnings found by go vet 2017-02-07 16:52:04 -08:00
payments_test.go channeldb: modify new payments module to match project code-style 2016-12-30 16:32:25 -08:00
payments.go channeldb: modify new payments module to match project code-style 2016-12-30 16:32:25 -08:00
README.md multi: add link to LICENSE in README license badges (#100) 2017-01-12 16:31:08 -08:00

channeldb

[Build Status] (https://travis-ci.org/lightningnetwork/lnd) [MIT licensed] (https://github.com/lightningnetwork/lnd/blob/master/LICENSE) [GoDoc] (http://godoc.org/github.com/lightningnetwork/lnd/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