Bitcoin-Core

複製比特幣比特幣如何找到新節點

  • March 31, 2018

我正在研究區塊鏈、cpp 和加密,所以我複製了比特幣並創建了一個新的山寨幣。

一切都像我預期的那樣工作正常,但我有一些問題我找不到答案。

關於節點的問題,讓我解釋一下我的情況。

我現在有 3 個虛擬機在執行比特幣複製錢包,它現在是一個新硬幣。

vm 1 = 連接到節點 100.00.00.0

幣名.conf

添加節點=100.00.00.0

vm 2 =為 vm 1提供 ip: 100.00.00.0的伺服器

vm 3 = 隨機錢包以及連接到 vm2 的 ip 100.00.00.0

幣名.conf

添加節點=100.00.00.0

我從net.cpp中刪除了節點和 dns,做這個實驗好嗎?

strMainNetDNSSeed[][2]

pn種子[]

所以我開始做實驗,打開為錢包連接提供 IP的VM 2 。

在此之後,VM1 和 VM3 失去了連接,這很好,我預料到了。

所以我的問題是,如果伺服器離線,錢包 VM 1 和 VM 3 將如何自行連接並保持網路執行?以及如果 2 個使用者不知道它共享節點的 ip?

我在下面搜尋了這個主題,但找不到我要找的東西。

比特幣如何找到同行?

比特幣節點最初是如何找到對等點的?

<https://en.bitcoin.it/wiki/Satoshi_Client_Node_Discovery>

編輯: 下面的使用者是對的,在其他錢包獲得對等節點和節點之後,所以如果 VM2 離線,網路繼續執行,比特幣的驚人之處就不再重要了。:)

客戶端在第一次連接到網路時必須下載對等點列表。已知對等點由先前知道其他節點的節點廣播。然而,所有這條鏈都從兩個節點都知道的至少兩個 IP 開始。

您的客戶端將在從 VM2 下載已知對等點列表(基於您的範例)以在硬編碼或 conf 節點失敗時建立連接後檢查已知對等點。

更準確地說:

**比特幣客戶端有許多資源用於在初始啟動時定位網路。**按重要性排序:

1)主要機制,如果客戶端曾經在這台機器上執行過並且它的數據庫是完整的,那麼主要的機制是查看它的數據庫。它跟踪它在網路上看到的每個節點、上次看到它的時間以及它的 IP 地址。

  1. 客戶端可以使用 DNS 來定位連接到網路的節點列表。一種這樣的種子是 bitseed.xf2.org。客戶端將解決此問題並獲得比特幣節點列表。

  2. 客戶端有一個編譯到其中的半永久節點列表。

  3. 客戶端可以連接到著名的 IRC 網路,irc.lfnet.org,並通過這種方式找到其他節點。(從 0.8.2 版本開始,此方法已被刪除)

  4. 它從命令行 (-addnode) 或 bitcoin.conf 文件 (addnode=) 獲取 IP 地址。

特別是第 5 步:

只需根據您的節點在您的 bitcoin.conf(或 yourcoin.conf)文件中添加一個addnode=ip.ip.ip.ip參數。

使用這種方法,您可以添加各種對等點,從個人 PC 到伺服器和交換節點或其他任何東西。

希望能幫助到你。

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