mirror of
https://github.com/lightningnetwork/lnd.git
synced 2024-11-19 09:53:54 +01:00
f0911765af
In this commit, we migrate all the code in `channeldb` to only reference the new `kvdb` package rather than `bbolt` directly. In many instances, we need to add two version to fetch a bucket as both read and write when needed. As an example, we add a new `fetchChanBucketRw` function. This function is identical to `fetchChanBucket`, but it will be used to fetch the main channel bucket for all _write_ transactions. We need a new method as you can pass a write transaction where a read is accepted, but not the other way around due to the stronger typing of the new `kvdb` package. |
||
---|---|---|
.. | ||
kvdb | ||
migration12 | ||
migration13 | ||
migration_01_to_11 | ||
migtest | ||
addr_test.go | ||
addr.go | ||
channel_cache_test.go | ||
channel_cache.go | ||
channel_test.go | ||
channel.go | ||
codec.go | ||
db_test.go | ||
db.go | ||
doc.go | ||
duplicate_payments.go | ||
error.go | ||
fees.go | ||
forwarding_log_test.go | ||
forwarding_log.go | ||
forwarding_package_test.go | ||
forwarding_package.go | ||
graph_test.go | ||
graph.go | ||
invoice_test.go | ||
invoices.go | ||
legacy_serialization.go | ||
log.go | ||
meta_test.go | ||
meta.go | ||
mp_payment.go | ||
nodes_test.go | ||
nodes.go | ||
options.go | ||
payment_control_test.go | ||
payment_control.go | ||
payments_test.go | ||
payments.go | ||
README.md | ||
reject_cache_test.go | ||
reject_cache.go | ||
waitingproof_test.go | ||
waitingproof.go | ||
witness_cache_test.go | ||
witness_cache.go |
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