lnd.xprv/channeldb
Olaoluwa Osuntokun a73ee28e46
multi: convert the existing channeldb.ChannelType uint8 into a bit field
In this commit, we convert the existing `channeldb.ChannelType` type
into a _bit field_. This doesn't require us to change the current
serialization or interpretation or the type as it is, since all the
current defined values us a distinct bit. This PR lays the ground work
for any future changes that may introduce new channel types (like anchor
outputs), and also any changes that may modify the existing invariants
around channels (if we're the initiator, we always have the funding
transaction).
2019-10-31 16:34:37 -07:00
..
addr_test.go channeldb/addr_test: add tests for invalid onion addresses 2019-01-17 14:16:15 +01:00
addr.go channeldb/addr: sanity check onion address length before writing to db 2019-01-17 14:16:15 +01:00
channel_cache_test.go channeldb/channel_cache: add channelCache w/ randomized eviction 2019-04-01 16:25:31 -07:00
channel_cache.go channeldb/channel_cache: add channelCache w/ randomized eviction 2019-04-01 16:25:31 -07:00
channel_test.go multi: convert the existing channeldb.ChannelType uint8 into a bit field 2019-10-31 16:34:37 -07:00
channel.go multi: convert the existing channeldb.ChannelType uint8 into a bit field 2019-10-31 16:34:37 -07:00
codec.go channeldb: Fix dropped error in migrations test 2019-09-12 15:49:21 +00:00
db_test.go channeldb/channel: remove unused FullSync method 2019-09-25 14:04:42 +02:00
db.go Revert "channeldb: require minimum db upgrade version" 2019-10-12 14:30:26 -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 Revert "channeldb: require minimum db upgrade version" 2019-10-12 14:30:26 -07:00
fees.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00
forwarding_log_test.go channeldb: add a set of initial tests for the ForwardingLog 2018-03-06 13:56:09 -05:00
forwarding_log.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
forwarding_package_test.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
forwarding_package.go multi: remove dead code 2019-09-10 17:21:59 +02:00
graph_test.go channeldb: add forward fee calculation function 2019-09-17 11:11:02 +02:00
graph.go Merge pull request #3440 from joostjager/buildroute 2019-09-24 20:24:24 -07:00
invoice_test.go invoices: replay awareness 2019-09-04 19:20:31 +02:00
invoices.go multi: fix canceled spelling 2019-10-03 17:27:36 +02:00
legacy_serialization.go Revert "channeldb: remove unsupported migrations" 2019-10-12 00:47:45 -07:00
log.go multi: init subsystem loggers via build pkg 2018-10-05 13:04:45 +09:00
meta_test.go channeldb: log error for migration test failures 2019-09-28 08:23:49 +02:00
meta.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
migration_09_legacy_serialization.go Revert "channeldb: remove unsupported migrations" 2019-10-12 00:47:45 -07:00
migration_10_route_tlv_records.go channeldb: update route.Hop serialization to include new EOB related fields 2019-08-22 18:53:04 -07:00
migration_11_invoices_test.go channeldb: fail migration for accepted hodl invoices 2019-09-28 08:30:33 +02:00
migration_11_invoices.go channeldb: fail migration for accepted hodl invoices 2019-09-28 08:30:33 +02:00
migrations_test.go Revert "channeldb: remove unsupported migrations" 2019-10-12 00:47:45 -07:00
migrations.go Revert "channeldb: remove unsupported migrations" 2019-10-12 00:47:45 -07:00
nodes_test.go channeldb: add DeleteLinkNode method 2018-07-17 17:35:25 -07:00
nodes.go channeldb: add new AddrsForNode method 2019-01-28 20:24:22 -08:00
options.go channeldb: add freelist sync option modifier 2019-10-04 12:19:41 -04:00
payment_control_test.go channeldb/test: make route comparison a pure function 2019-09-10 15:46:49 +02:00
payment_control.go channeldb: return errors in various missed places 2019-09-09 02:41:43 -07:00
payments_test.go Revert "channeldb: remove unsupported migrations" 2019-10-12 00:47:45 -07:00
payments.go channeldb: update route.Hop serialization to include new EOB related fields 2019-08-22 18:53:04 -07:00
README.md build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08:00
reject_cache_test.go channeldb/reject_cache: add rejectCache w/ randomized eviction 2019-04-01 16:25:31 -07:00
reject_cache.go channeldb/reject_cache: add rejectCache w/ randomized eviction 2019-04-01 16:25:31 -07:00
waitingproof_test.go channeldb: Fix dropped error in migrations test 2019-09-12 15:49:21 +00:00
waitingproof.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
witness_cache_test.go channeldb+witness_beacon: use sha256 lookup+delete witness 2019-02-19 17:06:42 -08:00
witness_cache.go channeldb+witness_beacon: use sha256 lookup+delete witness 2019-02-19 17:06:42 -08:00

channeldb

Build Status MIT licensed GoDoc

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