Python

為什麼 getinfo() 和 listchannels() 非活動通道數不同?

  • April 29, 2019

在比較 getinfo() 和 listchannels() 呼叫之間的節點資訊輸出時,我得到了奇怪的結果。也許有人認為出了什麼問題(使用我的瑣碎程式碼或 c-lightning 本身):

chans = lnd.listchannels(source=mychan)['channels']
for chan in chans:
   if chan['active'] == False:
       total_inactive += 1
       print('inactive chan with node: ' + chan['destination'])
   else:
       total_active += 1

print('my inactive chans: ' + str(total_inactive))
print('my active chans: ' + str(total_active))

給我:

my inactive chans: 2 
my active chans: 23

但是,lightning-cli getinfo 給出了:

"num_active_channels": 25,
"num_inactive_channels": 5,

您似乎擁有(或者更確切地說,在您執行命令時擁有)6 個已獲得資助但尚未公佈的頻道。這很可能是您的節點看到它們 ( getinfo) 但gossipd還沒有 ( listchannels) 的原因,因為它們還沒有被宣布。

正如 Rene Pickhardt 指出的那樣:

在沒有上下文的情況下,我研究了您通過 pip 安裝了 pylifhtning 客戶端並稍後升級了您的閃電節點,以便 API 具有不同的版本。但這只是對常見錯誤的瘋狂猜測

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