Lightning-Network

如何在 c-lightning 中獲得所有潛在路線?

  • March 3, 2019

我正在嘗試在 c-lightning 之上編寫一些服務,並且我需要檢查某些付款是否到達某些節點。

閃電-cli getroute nodeid 數量 riskfactor

這給了我從潛在的兩條路線中隨機選擇的一條路線。

我是否有可能獲得所有可能的路線並自己決定?

如果您投入一些程式時間,您可以使用該listchannels命令從 gossip 商店中檢索閃電網路的所有通道。不,您可以將它們儲存在networkx庫中

import networkx as nx
network = ln.listchannels()
nx.Graph()                                                                                                                 
for channel in network:                                                                                                        
   G.add_edge(channel["source"],                                                                                              
              channel["destination"],                                                                                         
              **channel)

然後您可以使用networkx 庫中的此算法來獲取源路由和目標路由之間所有路徑的生成器。由於閃電網路很可能有循環,因此您需要定義一個截止點。雖然從計算的角度來看 20 太長了,但它也是根據 BOLT 04 洋蔥包支持的最大路徑長度

長度:最大路由長度限制為 20 跳。

引用自:https://bitcoin.stackexchange.com/questions/85030