Я изучаю блокчейн, 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 находится в автономном режиме, сеть продолжает работать, удивительная вещь о биткойнах. :)
Клиент должен загрузить список пиров при первом подключении к сети. Известные пиры транслируются узлами, которые ранее знали другие узлы. Однако вся эта цепочка начинается как минимум с двух 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
параметр в соответствии с вашими узлами.
С помощью этого метода вы можете добавить любой пир, от персонального ПК до серверов и обменных узлов или чего-то еще.
Надеюсь, поможет.
Радукен
пользователь51260
Радукен
пользователь51260
getpeerinfo