2c29a20a8d
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. |
||
---|---|---|
.. | ||
channel_test.go | ||
channel.go | ||
db_test.go | ||
db.go | ||
doc.go | ||
error.go | ||
fees.go | ||
graph_test.go | ||
graph.go | ||
invoice_test.go | ||
invoices.go | ||
log.go | ||
meta_test.go | ||
meta.go | ||
migrations.go | ||
nodes_test.go | ||
nodes.go | ||
payments_test.go | ||
payments.go | ||
README.md |
channeldb
[] (https://travis-ci.org/lightningnetwork/lnd) [] (https://github.com/lightningnetwork/lnd/blob/master/LICENSE) [] (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