Bitcoin-Core

JSON-RPC 獲取全節點資訊

  • November 1, 2019

有沒有辦法通過 RPC 呼叫獲取所有完整節點?

Afaik 完整節點包含網路中其他完整節點的資訊,並且想知道如何請求。

我在Bitcoin Core APIs 上添加了文件,我發現的只是getpeerinfo,它返回一個已連接節點的列表,但它給我的 JSON 似乎不包含該資訊。

有誰知道這些數據是否可訪問以及如何獲取它?

您不能請求此資訊,因為它不存在。

沒有節點的中央系統資料庫,也沒有開始的身份。全節點確實維護了一個他們現在所關注的對等點的 IP 地址數據庫,但這不是,也不打算成為網路上所有節點的完整列表。

存在的最接近的是網路爬蟲,它們四處詢問 IP 地址並嘗試連接到它們(一些 DNS 種子報告基於爬蟲資訊的結果),但即使這也只是一個近似值,並且只能發現可訪問的節點。絕大多數全節點只進行傳出連接。

getpeerinfo返回有關目前連接的對等點的資訊,但不返回整個網路。由於比特幣是一個去中心化的點對點網路,因此任何點都不可能建立完整網路連接圖的準確視圖。

考慮如何建立這些對等連接,這些連接由getpeerinfo. 當您的節點啟動時,它將引導來自已知種子伺服器的對等端點地址列表。一旦獲得足夠數量的地址,它就會開始連接(此地址列表會隨著新地址在種子會話後傳播到您的節點而被主動修改)。

  • Outbound connections:在種子會話期間獲取的地址列表上最多 N 個對等方。
  • Inbound connections:接受來自連接到您節點的最多 M 個對等方的連接
  • Manual connections:配置了您的節點(嘗試)保持連接的永久對等點。

您的節點的所有類型的連接都有一個可配置的限制。無論如何,網路的有限視圖意味著您的節點永遠無法全面了解全球比特幣 p2p 網路。

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