Client

與非標準埠的比特幣通信

  • August 13, 2018

我正在編寫一個比特幣網路應用程序,該應用程序將部署在我無法控制的外部伺服器上。我可能無法訪問標準比特幣埠(8333)。這在連接到標準比特幣客戶端時會導致問題,還是它們可以處理與非標準埠號的通信?是否有任何與比特幣相關的應用程序也使用其他埠進行通信(如池等)?

如果您只進行出站連接,則使用什麼埠都沒有關係。您的客戶將能夠毫無問題地完全參與網路。

參考客戶端將避開網路上未在預設埠(主網路為 8333,測試網路為 18333)上執行的節點,以免中斷其他服務。否則,如果有人宣傳在另一個應用程序埠上執行的假節點,網路中的其他節點可能會導致拒絕服務攻擊,因為它們試圖連接到它卻徒勞無功。

來自比特幣核心客戶端的程式碼片段,顯示節點將忽略非標準埠,除非它們非常迫切地想要找到可以連接的人:

// do not allow non-default ports, unless after 50 invalid addresses selected already
if (addr.GetPort() != Params().GetDefaultPort() && nTries < 50)
continue;

如果您想通過傳入連接積極支持網路,則盡可能不要更改比特幣守護程序的“埠”設置。

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