Подключение участников к сети

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

Подключение новой ноды к существующей сети

Новые ноды можно добавлять в сеть в любой момент времени. Настройка конфигурационных файлов новой ноды описана в подразделе Установка и запуск платформы Waves Enterprise. Выполните все указанные в приведённом подразделе действия и запустите ноду. Далее выполняются следующие действия:

  1. Пользователь новой ноды передаёт публичный ключ и описание ноды администратору сети.

  2. Администратор сети (нода с ролью «Connection-manager») использует полученные публичный ключ и описание ноды при создании транзакции 111 RegisterNode с параметром "opType": "add".

  3. Транзакция попадает в блок и далее в стейты нод участников сети. Вследствие транзакции среди сохраняемых данных каждый участник сети хранит обязательно публичный ключ и адрес новой ноды.

  4. При необходимости администратор сети может добавить новой ноде дополнительные роли при помощи транзакции 102 Permit.

  5. Пользователь запускает ноду.

  6. После запуска нода отправляет handshake-сообщение со своим публичным ключом участникам из списка «peers» своего конфигурационного файла.

  7. Участники сети сравнивают публичный ключ из handshake-сообщения и ключ из транзакции 111 RegisterNode, отправленной администратором сети. Если проверка успешна, участник сети обновляет свою БД и рассылает в сеть сообщение Peers Message.

  8. Успешно подключившись, новая нода выполняет синхронизацию с сетью и получает таблицу адресов участников сети.

Удаление ноды

  1. Администратор сети создает транзакцию 111 RegisterNode с параметром "opType": "remove" для удаления ноды из сети, в которую помещается её публичный ключ.

  2. Транзакция с удалением ноды вместе с остальными попадает в блок, и её принимают другие ноды.

  3. После принятия транзакции ноды находят в своем стейте публичный ключ, указанный в транзакции 111 RegisterNode, и удаляют его из стейта.

  4. Далее ноды удаляют сетевой адрес ноды с ключом, указанным в транзакции 111 RegisterNode, из списка network.known-peers конфигурационного файла ноды.