Поделиться через


Развертывание блокчейн-сети Ethereum в Azure Stack Hub

Шаблон решения Ethereum должен помочь проще и быстрее развертывать и настраивать сеть блокчейна со множеством членов консорциума Ethereum с минимальными понятиями об Azure и Ethereum.

Небольшой объем входных пользовательских данных и развертывание одним щелчком на клиентском портале Azure Stack Hub позволяют каждому участнику подготовить участок сети. Используемый участок сети для каждого участника включает три компонента:

  1. набор узлов транзакций с балансировкой нагрузки, с помощью которого приложение или пользователь могут взаимодействовать для отправки транзакций;
  2. набор узлов интеллектуального анализа для записи транзакций;
  3. сетевой виртуальный модуль (NVA).

На следующем этапе добавляется подключение NVA для создания полностью настроенной блокчейн-сети со множеством участников.

Настройка

  • Выберите архитектуру развертывания.
  • Разверните изолированную сеть, сеть лидера или участника консорциума.

Предварительные требования

Загрузите самые новые элементы из Marketplace:

  • Ubuntu Server 16.04 LTS
  • Windows Server 2016
  • Настраиваемый скрипт для Linux 2.0
  • Расширение Custom Script в ОС Windows

Архитектура развертывания

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

Шаблон консорциума Ethereum можно развернуть для лидера, а участники могут присоединяться разными способами. Ниже описаны проверенные нами способы подключения:

  • В azure Stack Hub с несколькими узлами с идентификатором Microsoft Entra или AD FS разверните потенциального клиента и участника, используя одну и ту же подписку или с разными подписками.
  • На одном узле Azure Stack Hub (с идентификатором Microsoft Entra) разверните потенциального клиента и участника, используя одну и ту же подписку.

Автономное развертывание и развертывание ведущего консорциума

Расположение первого члена в сети настраивается в шаблоне ведущего консорциума.

  1. Скачайте шаблон лидера из GitHub.

  2. На портале клиента Azure Stack Hub выберите + Создать развертывание шаблона ресурса > для развертывания из пользовательского шаблона.

  3. Выберите Создать собственный шаблон в редакторе , чтобы изменить новый пользовательский шаблон.

  4. На панели редактирования справа скопируйте и вставьте шаблон ведущего JSON, который был загружен ранее.

    Изменение шаблона с вставкой шаблона лидера

  5. Щелкните Сохранить.

  6. На вкладке Основные сведения введите следующие параметры.

    Имя параметра Описание Образец значения
    Подписка Подписка, для которой необходимо развернуть сеть консорциума. Подписка потребления
    Группа ресурсов Группа ресурсов, куда будет развертываться сеть консорциума. EthereumResources
    Регион Регион Azure для ресурсов. локальные
    Префикс имени Строка используется в качестве основы для именования развернутых ресурсов. Используйте не более шести буквенно-цифровых символов. eth
    Тип проверки подлинности Метод аутентификации на виртуальной машине. Допустимые значения: пароль или открытый ключ SSH. Пароль
    Имя администратора Имя администратора для каждой развернутой виртуальной машины. Используйте от одного до 64 символов. gethadmin
    Администратор пароль (тип проверки подлинности = пароль) Пароль учетной записи администратора для каждой развернутой виртуальной машины. Пароль должен содержать три следующих элемента: одна строчная буква, одна прописная буква, одна цифра и один специальный знак.
    Хотя все виртуальные машины изначально имеют одинаковый пароль, вы можете изменить пароль после инициализации. Используйте от 12 до 72 символов.
    Администратор ключ SSH (тип проверки подлинности = sshPublicKey) Строка открытого ключа RSA защищенной оболочки, используемая для удаленного входа.
    Блок Бытия Строка формата JSON, представляющая пользовательский первичный блок. Указание значения для этого параметра не является обязательным.
    Пароль учетной записи Ethereum Пароль администратора, используемый для защиты учетной записи Ethereum.
    Парольная фраза учетной записи Ethereum Парольная фраза, используемая для создания закрытого ключа, связана с учетной записью Ethereum. Рассмотрите пароль с достаточной случайностью, чтобы обеспечить надежный закрытый ключ.
    Идентификатор сети Ethereum Идентификатор сети консорциума. Используйте любое значение от 5 до 999 999 999. 72
    Идентификатор участника консорциума Идентификатор, который связан с каждым членом консорциума в сети. Он должен обладать уникальным значением. 0
    Число узлов интеллектуального анализа данных Количество узлов интеллектуального анализа данных для каждого члена консорциума. Используйте значение от 2 до 15. 2
    Размер виртуальной машины узла интеллектуального анализа данных Размер виртуальной машины узлов майнинга. Standard_A1
    Тип учетной записи хранения интеллектуального анализа данных Производительность хранилища узлов майнинга. Standard_LRS
    Число узлов TX Количество узлов транзакций с балансировкой нагрузки. Используйте значение от 1 до 5. 1
    Размер виртуальной машины узла TX Размер виртуальной машины транзакционных узлов. Standard_A1
    Тип учетной записи хранения TX Производительность хранилища транзакционных узлов. Standard_LRS
    Базовый URL-адрес Базовый URL-адрес для получения шаблонов развертывания. Используйте значение по умолчанию, если настраивать шаблоны развертывания нет необходимости.
  7. Выберите Review + create (Просмотреть и создать). После успешной проверки выберите Создать.

Для развертывания может потребоваться 20 минут и более.

По завершении развертывания просмотрите сводку по развертыванию Microsoft.Template в разделе развертывания группы ресурсов. В сводке содержатся выходные значения, с помощью которых можно объединить участников консорциума.

Чтобы проверить развертывание для лидера, перейдите на сайт администрирования лидера. Адрес сайта администрирования можно найти в разделе выходных данных развертывания Microsoft.Template.

Сводка по развертыванию ведущего

Развертывание присоединения членов консорциума

  1. Скачайте шаблон участников консорциума из GitHub.

  2. На портале клиента Azure Stack Hub выберите + Создать развертывание шаблона ресурса > для развертывания из пользовательского шаблона.

  3. Выберите Создать собственный шаблон в редакторе , чтобы изменить новый пользовательский шаблон.

  4. В области редактирования справа скопируйте и вставьте скачанный ранее шаблон члена консорциума.

  5. Щелкните Сохранить.

  6. На вкладке Основные сведения введите следующие параметры.

    Имя параметра Описание Образец значения
    Подписка Подписка, для которой необходимо развернуть сеть консорциума. Подписка потребления
    Группа ресурсов Группа ресурсов, куда будет развертываться сеть консорциума. EthereumResources
    Регион Регион Azure для ресурсов. локальные
    Префикс имени Строка используется в качестве основы для именования развернутых ресурсов. Используйте не более шести буквенно-цифровых символов. eth
    Тип проверки подлинности Метод аутентификации на виртуальной машине. Допустимые значения: пароль или открытый ключ SSH. Пароль
    Имя администратора Имя администратора для каждой развернутой виртуальной машины. Используйте от одного до 64 символов. gethadmin
    Администратор пароль (тип проверки подлинности = пароль) Пароль учетной записи администратора для каждой развернутой виртуальной машины. Пароль должен содержать три следующих элемента: одна строчная буква, одна прописная буква, одна цифра и один специальный знак.
    Хотя все виртуальные машины изначально имеют одинаковый пароль, вы можете изменить пароль после инициализации. Используйте от 12 до 72 символов.
    Администратор ключ SSH (тип проверки подлинности = sshPublicKey) Строка открытого ключа RSA защищенной оболочки, используемая для удаленного входа.
    Блок Бытия Строка формата JSON, представляющая пользовательский первичный блок. Указание значения для этого параметра не является обязательным.
    Пароль учетной записи Ethereum Пароль администратора, используемый для защиты учетной записи Ethereum.
    Парольная фраза учетной записи Ethereum Парольная фраза, используемая для создания закрытого ключа, связана с учетной записью Ethereum. Рассмотрите пароль с достаточной случайностью, чтобы обеспечить надежный закрытый ключ.
    Идентификатор участника консорциума Идентификатор, который связан с каждым членом консорциума в сети. Он должен обладать уникальным значением. 0
    Число узлов интеллектуального анализа данных Количество узлов интеллектуального анализа данных для каждого члена консорциума. Используйте значение от 2 до 15. 2
    Размер виртуальной машины узла интеллектуального анализа данных Размер виртуальной машины узлов майнинга. Standard_A1
    Тип учетной записи хранения интеллектуального анализа данных Производительность хранилища узлов майнинга. Standard_LRS
    Число узлов TX Количество узлов транзакций с балансировкой нагрузки. Используйте значение от 1 до 5. 1
    Размер виртуальной машины узла TX Размер виртуальной машины транзакционных узлов. Standard_A1
    Тип учетной записи хранения TX Производительность хранилища транзакционных узлов. Standard_LRS
    Данные консорциума URL-адрес, указывающий на данные конфигурации соответствующего консорциума, предоставляемые развертыванием другого участника. Это значение можно найти в выходных данных развертывания ведущего.
    Адресное пространство виртуальной сети удаленного члена Адресное пространство виртуальной сети лидера. Это значение можно найти в выходных данных развертывания ведущего.
    Общедоступный IP-адрес NVA удаленного члена IP-адрес NVA ведущего. Это значение можно найти в выходных данных развертывания ведущего.
    Общий ключ подключения Предварительно установленный секрет между членами сети консорциума, устанавливающими подключение к шлюзу.
    Базовый URL-адрес Базовый URL-адрес для получения шаблонов развертывания. Используйте значение по умолчанию, если настраивать шаблоны развертывания нет необходимости.
  7. Выберите Review + create (Просмотреть и создать). После успешной проверки выберите Создать.

Для развертывания может потребоваться 20 минут и более.

По завершении развертывания просмотрите сводку по развертыванию Microsoft.Template в разделе развертывания группы ресурсов. В сводке содержатся выходные значения, с помощью которых можно объединить участников консорциума.

Чтобы проверить развертывание члена, необходимо перейти на сайты администрирования членов. Адрес сайта администрирования можно найти в выходном разделе развертывания Microsoft.Template.

Сводная информация по развертыванию члена

Член узла находится в состоянии Не запущен (как указано на рисунке). Участник узла находится в этом состоянии, так как подключение между лидерами и участниками установить не удалось. Подключение между ведущим и членами является двусторонним. При развертывании членов подключение между членом и ведущим создается автоматически. Чтобы создать подключение между лидером и членом, необходимо выполнить следующие действия.

Подключение члена и ведущего

При помощи этого шаблона создается подключение между ведущим и удаленным членом.

  1. Скачайте шаблон подключения лидера и участников из GitHub.

  2. На портале клиента Azure Stack Hub выберите + Создать развертывание шаблона ресурса > для развертывания из пользовательского шаблона.

  3. Выберите Создать собственный шаблон в редакторе , чтобы изменить новый пользовательский шаблон.

  4. В области редактирования справа скопируйте и вставьте скачанный ранее шаблон члена консорциума.

  5. Щелкните Сохранить.

  6. Выполните следующие параметры.

    Имя параметра Описание Образец значения
    Подписка Подписка, для которой необходимо развернуть сеть консорциума. Подписка потребления
    Группа ресурсов Группа ресурсов, куда будет развертываться сеть консорциума. EthereumResources
    Регион Регион Azure для ресурсов. локальные
    Префикс имени члена Строка используется в качестве основы для именования развернутых ресурсов. Используйте не более шести буквенно-цифровых символов. eth
    Имя таблицы маршрутов членов Имя таблицы маршрута ведущего. Это значение можно найти в выходных данных развертывания ведущего.
    Адресное пространство виртуальной сети удаленного члена Адресное пространство члена. Это значение можно найти в выводе развертывания члена.
    Общедоступный IP-адрес NVA удаленного члена IP-адрес NVA для подключения. Это значение можно найти в выводе развертывания члена.
    Общий ключ подключения Предварительно заданный секретный ключ между членами сети консорциума, которые устанавливают соединение.
    Частный IP-адрес NVA участника IP-адрес NVA члена. Это значение можно найти в выводе развертывания члена.
    Базовый URL-адрес Базовый URL-адрес для получения шаблонов развертывания. Используйте значение по умолчанию, если настраивать шаблоны развертывания нет необходимости.
  7. Выберите Review + create (Просмотреть и создать). После успешной проверки выберите Создать.

После завершения развертывания необходимо подождать несколько минут, прежде чем ведущий и члены смогут установить подключение. Чтобы проверить развертывание, обновите сайт администрирования члена. Состояние узла члена должно измениться на "Выполняется".

Проверка развертывания

Дальнейшие действия

Дополнительные сведения об Ethereum и Azure см. в статье Блокчейн-технология и приложения.