Lightning-Network
如何在 c-lightning 中獲得所有潛在路線?
我正在嘗試在 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 跳。