клонирование биткойна как биткойн находит новые узлы

Я изучаю блокчейн, cpp и криптографию, поэтому я клонировал биткойн и создал новый альткойн.

все работает нормально, как я и ожидал, но у меня есть несколько вопросов, на которые я не смог найти ответ.

вопрос касается узлов, позвольте мне объяснить мой случай.

Теперь у меня есть 3 виртуальных машины, на которых запущены кошельки-клоны биткойнов, которые теперь являются новой монетой.

vm 1 = подключен к узлу 100.00.00.0

имя монеты.conf

аддноде=100.00.00.0

vm 2 = это сервер, который предоставляет IP: 100.00.00.0 для vm 1

vm 3 = случайный кошелек, также подключенный к ip 100.00.00.0 для vm2.

имя монеты.conf

аддноде=100.00.00.0

Я удалил узлы и DNS из net.cpp для этого эксперимента, хорошо?

стрМаиннетDNSSид[][2]

pnSeed[]

поэтому я начал экспериментировать, включив виртуальную машину 2 , которая предоставляет IP-адрес для подключения кошельков.

после этого VM1 и VM3 потеряли соединение, я этого и ожидал.

поэтому мой вопрос: как кошелек VM 1 и VM 3 будут подключаться сами по себе и поддерживать работу сети, если VM 2, если сервер отключен? а также, если 2 пользователя не знают IP-адрес, по которому они разделяют узлы?

Я искал эти темы ниже, но я не мог найти то, что ищу.

Как биткойн находит пиров?

Как биткойн-узлы изначально находят пиров?

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

РЕДАКТИРОВАТЬ: пользователь ниже был прав, через некоторое время другие кошельки получают пиры и узлы, поэтому больше не имеет значения, если VM2 находится в автономном режиме, сеть продолжает работать, удивительная вещь о биткойнах. :)

Ответы (1)

Клиент должен загрузить список пиров при первом подключении к сети. Известные пиры транслируются узлами, которые ранее знали другие узлы. Однако вся эта цепочка начинается как минимум с двух IP-адресов, известных обоим узлам.

Ваши клиенты будут проверять наличие известных пиров после того, как они загрузят список известных пиров из VM2 (на основе ваших примеров), чтобы установить соединение в случае сбоя жестко заданных или узлов конфигурации.

Чтобы быть более точным:

Биткойн-клиент имеет ряд источников, которые он использует для обнаружения сети при первоначальном запуске. В порядке важности:

1) Основной механизм, если клиент когда-либо работал на этой машине раньше и его база данных не повреждена, заключается в просмотре своей базы данных. Он отслеживает каждый узел, который он видел в сети, как давно он видел его в последний раз и его IP-адрес.

2) Клиент может использовать DNS для поиска списка узлов, подключенных к сети. Одним из таких сидов является bitseed.xf2.org. Клиент разрешит это и получит список узлов Биткойн.

3) У клиента есть скомпилированный в него список полупостоянных узлов.

4) Клиент может подключиться к известной сети IRC, irc.lfnet.org, и таким образом найти другие узлы. (Этот метод был удален с версии 0.8.2)

5) Он берет IP-адреса из командной строки (-addnode) или файла bitcoin.conf (addnode=).

Шаг 5, в частности:

Просто добавьте в свой файл bitcoin.conf (или yourcoin.conf) addnode=ip.ip.ip.ipпараметр в соответствии с вашими узлами.

С помощью этого метода вы можете добавить любой пир, от персонального ПК до серверов и обменных узлов или чего-то еще.

Надеюсь, поможет.

спасибо, я знаю, я мог бы добавить вручную, я хочу знать, это: 2 пользователя не знают IPS, так как они будут подключаться, понятно?
Отредактировал ответ точнее.
большое спасибо, это команда, которую я могу ввести в режиме отладки, чтобы увидеть онлайн-пиров? хороших выходных
Да, командаgetpeerinfo