Network

不再接收來自節點的 inv 消息

  • May 13, 2017

我編寫了自己的簡單客戶端,連接到我的本地節點。它一直執行良好,但從13.1升級到14.1後,我的本地節點不再發送我的客戶端inv消息。

握手似乎工作正常,如下所示:

Client: version
Node:   version
Node:   verack
......

但是在 之後verack,節點不再向我發送任何數據。我通常會在ping之後得到一個verack,但這也沒有通過。

任何想法為什麼會發生這種情況?這是我收到的 verack 的有效負載,如果有任何用處:

37663131303130303064303030303030303030303030303035613034313735393030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303064303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303034626363303539623666653837346333323132663533363137343666373336383639336133303265333133343265333132383463363536313732366534643635343134323639373436333666363936653239326631363164303730303031

0.14.0 開始,當您收到 a 時verack,您還需要發verack回一條消息。

因此,在您可以這樣做之前:

Client: version
Node:   version
Node:   verack
......

你現在需要這樣做:

Client: version
Node:   version
Node:   verack
Client: verack  <- do this!
......

連結

  • <https://bitcoin.org/en/release/v0.14.0> (#9715)
  • <https://github.com/bitcoin/bitcoin/pull/9715>

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