lnd.xprv/channeldb
Olaoluwa Osuntokun e39dc9eec1
channeldb: add storage of an on-disk directed channel graph
This commit introduces a new capability to the database: storage of an
on-disk directed channel graph. The on-disk representation of the graph
within boltdb is essentially a modified adjacency list which separates
the storage of the edge’s existence and the storage of the edge
information itself.

The new objects provided within he ChannelGraph carry an API which
facilitates easy graph traversal via their ForEach* methods. As a
result, path finding algorithms will be able to be expressed in a
natural way using the range methods as a for-range language extension
within Go.

Additionally caching will likely be added either at this layer or the
layer above (the RoutingManager) in order keep queries and outgoing
payments speedy. In a future commit a new set of RPC’s to query the
state of a particular edge or node will also be added.
2016-12-07 22:50:19 -08:00
..
channel_test.go channeldb: add method to OpenChannel for querying num updates 2016-11-27 19:10:13 -08:00
channel.go channeldb: add method to OpenChannel for querying num updates 2016-11-27 19:10:13 -08:00
db_test.go channeldb: remove hardcoded netparams 2016-04-24 12:35:52 -07:00
db.go channeldb: add storage of an on-disk directed channel graph 2016-12-07 22:50:19 -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 storage of an on-disk directed channel graph 2016-12-07 22:50:19 -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 channeldb: add storage of an on-disk directed channel graph 2016-12-07 22:50:19 -08:00
graph.go channeldb: add storage of an on-disk directed channel graph 2016-12-07 22:50:19 -08:00
invoice_test.go channeldb: store optional invoice fields as variable length byte arrays 2016-09-23 15:15:26 -07:00
invoices.go channeldb: embed the instance of boltb within DB struct 2016-11-27 18:35:55 -08:00
log.go multi: create lnd's logging infrastructure 2016-03-22 18:43:10 -07:00
meta_test.go channeldb: slightly refactor the [Fetch|Put]Meta methods 2016-11-27 18:44:23 -08:00
meta.go channeldb: slightly refactor the [Fetch|Put]Meta methods 2016-11-27 18:44:23 -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: embed the instance of boltb within DB struct 2016-11-27 18:35:55 -08:00