Подключение участников к сети¶
Момент запуска первой ноды можно считать началом создания новой блокчейн-сети. Разворачивать блокчейн-сеть вы можете со старта всего одной ноды, добавляя новые ноды по мере необходимости.
Подключите новую ноду к уже существующей сети.
Удалите лишние ноды из сети.
Подключение новой ноды к существующей сети¶
Новые ноды можно добавлять в сеть в любой момент времени. Настройка конфигурационных файлов новой ноды описана в подразделе Конфигурация ноды. Выполните все указанные в приведённом подразделе действия и запустите ноду. Далее выполняются следующие действия:
Пользователь новой ноды передаёт публичный ключ и описание ноды администратору сети.
Администратор сети (нода с ролью «Connection-manager») использует полученные публичный ключ и описание ноды при создании транзакции 111 RegisterNode с параметром
"opType": "add"
.Транзакция попадает в блок и далее в стейты нод участников сети. Вследствие транзакции среди сохраняемых данных каждый участник сети хранит обязательно публичный ключ и адрес новой ноды.
При необходимости администратор сети может добавить новой ноде дополнительные роли при помощи транзакции 102 Permit.
Пользователь запускает ноду.
После запуска нода отправляет handshake-сообщение со своим публичным ключом участникам из списка «peers» своего конфигурационного файла.
Участники сети сравнивают публичный ключ из handshake-сообщения и ключ из транзакции 111 RegisterNode, отправленной администратором сети. Если проверка успешна, участник сети обновляет свою БД и рассылает в сеть сообщение Peers Message.
Успешно подключившись, новая нода выполняет синхронизацию с сетью и получает таблицу адресов участников сети.
Удаление ноды¶
Администратор сети создает транзакцию 111 RegisterNode с параметром
"opType": "remove"
для удаления ноды из сети, в которую помещается её публичный ключ.Транзакция с удалением ноды вместе с остальными попадает в блок, и её принимают другие ноды.
После принятия транзакции ноды находят в своем стейте публичный ключ, указанный в транзакции 111 RegisterNode, и удаляют его из стейта.
Далее ноды удаляют сетевой адрес ноды с ключом, указанным в транзакции 111 RegisterNode, из списка
network.known-peers
конфигурационного файла ноды.