lnd.xprv/routing
Olaoluwa Osuntokun e06177e55c
routing: introduce new missionControl system within ChannelRouter
This commit adds a new system within the ChannelRouter: missionControl.
The purpose of this system to is to act as a shared memory of sorts
between payment sending attempts, recording which edges/vertexes word
or didn’t work. Allowing execution attempts to pass on their iterative
knowledge of the graph to later attempts will reduce the number of
failures encountered, and generally lead to a better UX when sending
payments.

The current capabilities of missionControl are rather limited just to
introduce the new abstraction. Later follow up commits will also add
preferential treatment for reliable nodes, knowledge the impact that
target payments have on unbalancing the payment graph, etc.
2017-10-16 18:57:36 -07:00
..
chainview routing/chainview: Fix data race in block disconnected callback. 2017-09-29 13:53:02 -07:00
testdata routing: add proper test for excessive number of hops 2017-02-02 00:24:16 -08:00
errors.go routing: Require adding edge to node before adding node. 2017-08-02 15:58:58 -07:00
graph.go routing: rewrite package to conform to BOLT07 and factor in fees+timelocks 2016-12-27 16:44:22 -08:00
heap_test.go routing: replace sort.Sort with sort.Slice in heap_test.go 2017-10-02 23:13:47 -07:00
heap.go routing: introduce new heap for storing candidate shortest paths 2017-03-21 12:20:30 -07:00
log.go lnd: remove seelog logger 2017-06-25 14:19:56 +01:00
missioncontrol.go routing: introduce new missionControl system within ChannelRouter 2017-10-16 18:57:36 -07:00
notifications_test.go routing: update path finding and notifications to use mSAT 2017-08-22 00:53:12 -07:00
notifications.go routing: update path finding and notifications to use mSAT 2017-08-22 00:53:12 -07:00
pathfind_test.go routing: perform path finding inside a single DB transaction 2017-10-10 22:19:27 -07:00
pathfind.go routing: avoid internal bolt db deadlock by reusing transaction in findPath 2017-10-16 18:48:27 -07:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
router_test.go routing: add a basic test to exercise route pruning in response to errors 2017-10-10 22:19:25 -07:00
router.go routing: don't prune our own channels during zombie channel collection 2017-10-16 18:14:01 -07:00

routing

Build Status MIT licensed GoDoc

The routing package implements authentication+validation of channel announcements, pruning of the channel graph, path finding within the network, sending outgoing payments into the network and synchronizing new peers to our channel graph state.

Installation and Updating

$ go get -u github.com/lightningnetwork/lnd/routing