lnd/routing
Andrey Samokhvalov b4ac7071ff discovery+routing: split 'routing' package on 'routing' and 'discovery'
In this commit the routing package was divided on two separete one,
this was done because 'routing' package start take too much responsibily
on themself, so with following commit:

Routing pacakge:
Enitites:
* channeldb.ChannelEdge
* channeldb.ChannelPolicy
* channeldb.NodeLightning

Responsibilities:
* send topology notification
* find payment paths
* send payment
* apply topology changes to the graph
* prune graph
* validate that funding point exist and corresponds to given one
* to be the source of topology data

Discovery package:
Entities:
* lnwire.AnnounceSignature
* lnwire.ChannelAnnouncement
* lnwire.NodeAnnouncement
* lnwire.ChannelUpdateAnnouncement

Responsibilities:
* validate announcement signatures
* sync topology with newly connected peers
* handle the premature annoucement
* redirect topology changes to the router susbsystem
* broadcast announcement to the rest of the network
* exchange channel announcement proofs

Before that moment all that was in the 'routing' which is quite big for
one subsystem.

split
2017-03-29 19:49:05 -07:00
..
testdata routing: add proper test for excessive number of hops 2017-02-02 00:24:16 -08:00
errors.go discovery+routing: split 'routing' package on 'routing' and 'discovery' 2017-03-29 19:49:05 -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: introduce a heap to keep track of closest nodes during pathfinding 2017-03-21 12:20:18 -07:00
heap.go routing: introduce new heap for storing candidate shortest paths 2017-03-21 12:20:30 -07:00
log.go routing: rewrite package to conform to BOLT07 and factor in fees+timelocks 2016-12-27 16:44:22 -08:00
notifications_test.go discovery+routing: split 'routing' package on 'routing' and 'discovery' 2017-03-29 19:49:05 -07:00
notifications.go discovery+routing: split 'routing' package on 'routing' and 'discovery' 2017-03-29 19:49:05 -07:00
pathfind_test.go discovery+routing: split 'routing' package on 'routing' and 'discovery' 2017-03-29 19:49:05 -07:00
pathfind.go discovery+routing: split 'routing' package on 'routing' and 'discovery' 2017-03-29 19:49:05 -07:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
router_test.go discovery+routing: split 'routing' package on 'routing' and 'discovery' 2017-03-29 19:49:05 -07:00
router.go discovery+routing: split 'routing' package on 'routing' and 'discovery' 2017-03-29 19:49:05 -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