lnd.xprv/channeldb
Olaoluwa Osuntokun c2818a549b
channeldb: modify schema to multiple-channels-per-peer
This commit overhauls the current schema for storing active channels in
order to support tracking+updating multiple open channels for a
particular peer.

Channels are now uniquely identified by an output (txid:index) rather
than an arbitrary hash value. As a result, the funding transaction is
no longer stored, as only the txin is required to lookup the original
transaction, and to sign for new commitment states.

A new bucket, nested within the bucket for a node’s Lightning ID has
been created. This new bucket acts as an index to the active channels
for a particular peer by storing all the active channel points as keys
within the bucket. This bucket can then be scanned in a linear fashion,
or queried randomly in order to retrieve channel information.

The split between top-level, and channel-level keys remains the same.
The primary modification comes in using the channel ID (the funding
outpoint) as the key suffix for all top-level and channel-level keys.
2016-06-21 13:12:43 -07:00
..
channel_test.go channeldb: modify schema to multiple-channels-per-peer 2016-06-21 13:12:43 -07:00
channel.go channeldb: modify schema to multiple-channels-per-peer 2016-06-21 13:12:43 -07:00
db_test.go channeldb: remove hardcoded netparams 2016-04-24 12:35:52 -07:00
db.go multi: change all imports to roasbeef's forks 2016-05-15 17:22:37 +03: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: modify schema to multiple-channels-per-peer 2016-06-21 13:12:43 -07:00
fees.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00
log.go multi: create lnd's logging infrastructure 2016-03-22 18:43:10 -07:00
nodes.go multi: change all imports to roasbeef's forks 2016-05-15 17:22:37 +03:00
route.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00