lnd.xprv/channeldb
Olaoluwa Osuntokun 87603e780f channeldb: re-design OpenChannel schema, update tests
The state of OpenChannel on disk has now been partitioned into several
buckets+keys within the db. At the top level, a set of prefixed keys
stored common data updated frequently (with every channel update).
These fields are stored at the top level in order to facilities prefix
scans, and to avoid read/write amplification due to
serialization/deserialization with each read/write.

Within the active channel bucket, a nested bucket keyed on the node’s
ID stores the remainder of the channel.

Additionally OpenChannel now uses elkrem rather than shachain, delivery
scripts instead of addresses, stores the total net fees, and splits the
csv delay into the remote vs local node’s.

Several TODO’s have been left lingering, to be visited in the near
future.
2016-03-23 22:39:52 -07:00
..
channel_test.go channeldb: re-design OpenChannel schema, update tests 2016-03-23 22:39:52 -07:00
channel.go channeldb: re-design OpenChannel schema, update tests 2016-03-23 22:39:52 -07:00
db_test.go channeldb: switch to Open/Create methods rather than New 2016-03-23 22:11:57 -07:00
db.go channeldb: re-design OpenChannel schema, update tests 2016-03-23 22:39:52 -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: switch to Open/Create methods rather than New 2016-03-23 22:11:57 -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 channeldb: re-design OpenChannel schema, update tests 2016-03-23 22:39:52 -07:00
route.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00