mirror of
https://github.com/lightningnetwork/lnd.git
synced 2024-11-19 18:10:34 +01:00
1aa9626606
feature-bit channels This allows opening zero-conf chan-type, scid-alias chan-type, and scid-alias feature-bit channels. scid-alias chan-type channels are required to be private. Two paths are available for opening a zero-conf channel: * explicit chan-type negotiation * LDK carve-out where chan-types are not used, LND is on the receiving end, and a ChannelAcceptor is used to enable zero-conf When a zero-conf channel is negotiated, the funding manager: * sends a FundingLocked with an alias * waits for a FundingLocked from the remote peer * calls addToRouterGraph to persist the channel using our alias in the graph. The peer's alias is used to send them a ChannelUpdate. * wait for six confirmations. If public, the alias edge in the graph is deleted and replaced (not atomically) with the confirmed edge. Our policy is also read-and-replaced, but the counterparty's policy won't exist until they send it to us. When a scid-alias-feature channel is negotiated, the funding manager: * sends a FundingLocked with an alias: * calls addToRouterGraph, sends ChannelUpdate with the confirmed SCID since it exists. * when six confirmations occurs, the edge is deleted and re-inserted since the peer may have sent us an alias ChannelUpdate that we are storing in the graph. Since it is possible for a user to toggle the scid-alias-feature-bit to on while channels exist in the funding manager, care has been taken to ensure that an alias is ALWAYS sent in the funding_locked message if this happens. |
||
---|---|---|
.. | ||
chainview | ||
localchans | ||
route | ||
shards | ||
testdata | ||
ann_validation.go | ||
bandwidth_test.go | ||
bandwidth.go | ||
control_tower_test.go | ||
control_tower.go | ||
errors.go | ||
graph.go | ||
heap_test.go | ||
heap.go | ||
integrated_routing_context_test.go | ||
integrated_routing_test.go | ||
log.go | ||
missioncontrol_state_test.go | ||
missioncontrol_state.go | ||
missioncontrol_store_test.go | ||
missioncontrol_store.go | ||
missioncontrol_test.go | ||
missioncontrol.go | ||
mock_graph_test.go | ||
mock_test.go | ||
nodepair.go | ||
notifications_test.go | ||
notifications.go | ||
pathfind_test.go | ||
pathfind.go | ||
payment_lifecycle_test.go | ||
payment_lifecycle.go | ||
payment_session_source.go | ||
payment_session_test.go | ||
payment_session.go | ||
probability_estimator_test.go | ||
probability_estimator.go | ||
README.md | ||
result_interpretation_test.go | ||
result_interpretation.go | ||
router_test.go | ||
router.go | ||
setup_test.go | ||
stats.go | ||
unified_policies_test.go | ||
unified_policies.go | ||
validation_barrier_test.go | ||
validation_barrier.go |
routing
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