Bitcoind
如何讓bitcoind連接到更多節點?
假設我有一個專門用於我的 bitcoind 的伺服器,為了更好的可靠性和一些安全原因,我希望它連接到比預設情況下願意做的更多的節點(大約 40-50)。
如果我有足夠的資源,我如何設置我的 bitcoind 以保持與其他節點的特定數量的連接?這可以不重新編譯嗎?
注意:有一個
maxconnections
設置上限的選項,但似乎 bitcoind 並沒有努力達到它。需要以某種方式啟動它。
根據上面的討論,我了解到如果不修補 bitcoind,這是不可能的。
不過,我已經為我的案例找到了一種解決方法:我不會使用單個 bitcoind 實例,而是執行其中的許多實例(甚至可能在不同位置的不同機器上)並通過
addnode
option讓它們相互通信。不同的實例很可能會與網路上的不同節點通信,從而擴大我從中接收更新的總節點集。我將基本上擁有我的節點的星形拓撲,將中央節點用於 RPC。葉節點越多,接收事務通知的最大延遲應該越低。
Bitcoind 永遠不會建立超過 8 個傳出連接。預設情況下,它最多允許 128 個連接(請參閱 參考資料
-maxconnections
),但這包括傳入的連接。完全同步節點的可用連接槽是網路上的有限資源,因此不應浪費它們。只要您有足夠的連接以確保至少有一個沒有試圖攻擊您,您就應該有足夠的連接。