Implantar uma rede blockchain Ethereum no Azure Stack Hub

O modelo de solução Ethereum foi projetado para tornar mais fácil e rápido implantar e configurar uma rede de blockchain Ethereum de consórcio de vários membros com conhecimento mínimo do Azure e do Ethereum.

Com um punhado de entradas de usuário e uma implantação de clique único por meio do portal de locatários do Azure Stack Hub, cada membro pode provisionar seu volume de rede. O volume de rede de cada membro consiste em três coisas:

  1. Um conjunto de nós de transação com balanceamento de carga com os quais um aplicativo ou usuário pode interagir para enviar transações.
  2. Um conjunto de nós de mineração para registrar transações.
  3. Uma NVA (Solução de Virtualização de Rede).

Uma etapa de conexão posterior conecta os NVAs para criar uma rede blockchain de vários membros totalmente configurada.

Para configurar:

  • Escolha uma arquitetura de implantação.
  • Implante uma rede autônoma, líder de consórcio ou membro do consórcio.

Pré-requisitos

Baixe os itens mais recentes do Marketplace:

  • Ubuntu Server 16.04 LTS
  • Windows Server 2016
  • Script personalizado para Linux 2.0
  • Extensão de script personalizado para o Windows

Arquitetura de implantação

Este modelo de solução pode implantar uma rede de consórcio Ethereum de um ou vários membros. A rede virtual está conectada em uma topologia de cadeia usando a Solução de Virtualização de Rede e os recursos de conexão.

O modelo pode implantar o consórcio Ethereum para líder e membro de várias maneiras. Aqui estão os que testamos:

  • Em um Azure Stack Hub de vários nós, com Microsoft Entra ID ou AD FS, implante o cliente potencial e o membro usando a mesma assinatura ou com assinaturas diferentes.
  • Em um Azure Stack Hub de nó único (com Microsoft Entra ID), implante o cliente potencial e o membro usando a mesma assinatura.

Implantação autônoma e líder do consórcio

O modelo de líder do consórcio configura o volume do primeiro membro na rede.

  1. Baixe o modelo de líder do GitHub.

  2. No portal de locatários do Azure Stack Hub, selecione + Criar uma implantação de modelo de recurso > para implantar a partir de um modelo personalizado.

  3. Selecione Criar seu próprio modelo no editor para editar o novo modelo personalizado.

  4. No painel de edição à direita, copie e cole o JSON do modelo de líder baixado anteriormente.

    Editar modelo com o modelo de líder colado

  5. Clique em Salvar.

  6. Na guia Noções básicas , conclua as configurações a seguir.

    Nome do parâmetro Descrição Valor de exemplo
    Subscription A assinatura para a qual implantar a rede do consórcio. Assinatura de consumo
    Grupo de recursos O grupo de recursos para o qual implantar a rede do consórcio. EthereumResources
    Região A região do Azure para recursos. local
    Prefixo do nome Cadeia de caracteres usada como base para nomear os recursos implantados. Use no máximo seis caracteres alfanuméricos. Eth
    Tipo de autenticação O método a ser autenticado na VM. Os valores permitidos são senha ou chave pública SSH. Senha
    Nome de usuário do administrador Administração nome de usuário de cada VM implantada. Use de um a 64 caracteres. gethadmin
    Administração senha (Tipo de autenticação = Senha) A senha da conta de administrador para cada uma das VMs implantadas. A senha deve ter três dos seguintes requisitos: um caractere maiúsculo, um caractere minúsculo, um número e um caractere especial.
    Embora todas as VMs tenham inicialmente a mesma senha, você pode alterar a senha após o fornecimento. Use de 12 a 72 caracteres.
    Administração chave SSH (Tipo de autenticação = sshPublicKey) A cadeia de caracteres de chave pública RSA do shell seguro usada para logon remoto.
    Bloco Gênesis Cadeia de caracteres JSON que representa o bloco gênese personalizado. Especificar um valor para esse parâmetro é opcional.
    Senha da conta do Ethereum A senha de administrador usada para proteger a conta do Ethereum.
    Frase secreta da conta Ethereum A frase secreta usada para gerar a chave privada associada à conta do Ethereum. Considere uma senha com aleatoriedade suficiente para garantir uma chave privada forte.
    ID de rede Ethereum A ID de rede do consórcio. Use qualquer valor entre 5 e 999.999.999.999. 72
    ID do membro do consórcio A ID associada a cada membro da rede do consórcio. Essa ID deve ser exclusiva na rede. 0
    Número de nós de mineração Número de nós de mineração para cada membro do consórcio. Use um valor entre 2 e 15. 2
    Tamanho da VM do nó de mineração Tamanho da VM dos nós de mineração. Standard_A1
    Tipo de conta de armazenamento de mineração Desempenho de armazenamento dos nós de mineração. Standard_LRS
    Número de nós TX Número de nós de transação com balanceamento de carga. Use um valor entre 1 e 5. 1
    Tamanho da VM do nó TX Tamanho da VM dos nós de transação. Standard_A1
    Tipo de conta de armazenamento TX Desempenho de armazenamento dos nós de transação. Standard_LRS
    URL base URL base em que os modelos de implantação são obtidos. Use o valor padrão, a menos que você queira personalizar os modelos de implantação.
  7. Selecione Examinar + criar. Após a validação bem-sucedida, selecione Criar.

A implantação pode levar 20 minutos ou mais para ser concluída.

Após a conclusão da implantação, examine o resumo da implantação de Microsoft.Template na seção de implantação do grupo de recursos. O resumo contém valores de saída usados para unir membros do consórcio.

Para verificar a implantação do líder, acesse o site de administração do líder. O endereço do site do administrador é encontrado na seção de saída da implantação do Microsoft.Template .

Resumo da implantação do líder

Ingressando na implantação de membros do consórcio

  1. Baixe o modelo de membro do consórcio do GitHub.

  2. No portal do locatário do Azure Stack Hub, selecione + Criar uma implantação de modelo de recurso > para implantar de um modelo personalizado.

  3. Selecione Criar seu próprio modelo no editor para editar o novo modelo personalizado.

  4. No painel de edição à direita, copie e cole o JSON do modelo de membro do consórcio que você baixou anteriormente.

  5. Clique em Salvar.

  6. Na guia Básico , conclua as configurações a seguir.

    Nome do parâmetro Descrição Valor de exemplo
    Subscription A assinatura na qual implantar a rede do consórcio. Assinatura de Consumo
    Grupo de recursos O grupo de recursos para o qual implantar a rede do consórcio. EthereumResources
    Região A região do Azure para recursos. local
    Prefixo do nome Cadeia de caracteres usada como base para nomear os recursos implantados. Use no máximo seis caracteres alfanuméricos. Eth
    Tipo de autenticação O método a ser autenticado na VM. Os valores permitidos são Senha ou chave pública SSH. Senha
    Nome de usuário do administrador Administração nome de usuário de cada VM implantada. Use de um a 64 caracteres. gethadmin
    Administração senha (Tipo de autenticação = Senha) A senha da conta de administrador para cada uma das VMs implantadas. A senha deve ter três dos seguintes requisitos: um caractere maiúsculo, um caractere minúsculo, um número e um caractere especial.
    Embora todas as VMs tenham inicialmente a mesma senha, você pode alterar a senha após o fornecimento. Use de 12 a 72 caracteres.
    Administração chave SSH (Tipo de autenticação = sshPublicKey) A cadeia de caracteres de chave pública RSA do shell seguro usada para logon remoto.
    Bloco Gênesis Cadeia de caracteres JSON que representa o bloco gênese personalizado. Especificar um valor para esse parâmetro é opcional.
    Senha da conta do Ethereum A senha de administrador usada para proteger a conta do Ethereum.
    Frase secreta da conta do Ethereum A frase secreta usada para gerar a chave privada associada à conta do Ethereum. Considere uma senha com aleatoriedade suficiente para garantir uma chave privada forte.
    ID do membro do consórcio A ID associada a cada membro da rede do consórcio. Essa ID deve ser exclusiva na rede. 0
    Nós de mineração de número Número de nós de mineração para cada membro do consórcio. Use um valor entre 2 e 15. 2
    Tamanho da VM do nó de mineração Tamanho da VM dos nós de mineração. Standard_A1
    Tipo de conta de armazenamento de mineração Desempenho de armazenamento dos nós de mineração. Standard_LRS
    Número de nós TX Número de nós de transação com balanceamento de carga. Use um valor entre 1 e 5. 1
    Tamanho da VM do nó TX Tamanho da VM dos nós de transação. Standard_A1
    Tipo de conta de armazenamento TX Desempenho de armazenamento dos nós de transação. Standard_LRS
    Dados do consórcio A URL que indica os dados de configuração relevantes do consortium, fornecidos pela implantação de outro membro. Esse valor pode ser encontrado na saída de implantação do líder.
    Espaço de endereço de VNET de membro remoto O espaço de endereço da VNET do líder. Esse valor pode ser encontrado na saída de implantação do líder.
    IP público NVA de membro remoto O endereço IP da NVA do líder. Esse valor pode ser encontrado na saída de implantação do líder.
    Chave compartilhada de conexão Um segredo pré-estabelecido entre os membros da rede de consórcio que estão estabelecendo uma conexão de gateway.
    URL base URL base em que os modelos de implantação são obtidos. Use o valor padrão, a menos que você queira personalizar os modelos de implantação.
  7. Selecione Examinar + criar. Após a validação bem-sucedida, selecione Criar.

A implantação pode levar 20 minutos ou mais para ser concluída.

Após a conclusão da implantação, examine o resumo da implantação para Microsoft.Template na seção de implantação do grupo de recursos. O resumo contém valores de saída usados para conectar membros do consórcio.

Para verificar a implantação do membro, procure o site de administração do membro. Você pode encontrar o endereço do site de administração na seção de saída da implantação microsoft.template .

Resumo da implantação de membro

Conforme mostrado na imagem, os nós do membro status não estão em execução. Essa status ocorre porque a conexão entre membro e líder não está estabelecida. A conexão entre membro e líder é uma conexão bidirecional. Quando você implanta membro, o modelo cria automaticamente a conexão de membro para o líder. Para criar a conexão de líder para membro, vá para a próxima etapa.

Conectar membro e líder

Esse modelo cria uma conexão do líder com um membro remoto.

  1. Baixe o modelo de membro e líder de conexão do GitHub.

  2. No portal de locatários do Azure Stack Hub, selecione + Criar uma implantação de modelo de recurso > para implantar a partir de um modelo personalizado.

  3. Selecione Criar seu próprio modelo no editor para editar o novo modelo personalizado.

  4. No painel de edição à direita, copie e cole o JSON do modelo de membro do consórcio que você baixou anteriormente.

  5. Clique em Salvar.

  6. Conclua as configurações a seguir.

    Nome do parâmetro Descrição Valor de exemplo
    Subscription A assinatura para a qual implantar a rede do consórcio. Assinatura de consumo
    Grupo de recursos O grupo de recursos para o qual implantar a rede do consórcio. EthereumResources
    Região A região do Azure para recursos. local
    Prefixo de nome de membro Cadeia de caracteres usada como base para nomear os recursos implantados. Use no máximo seis caracteres alfanuméricos. Eth
    Nome da tabela de rotas de membro Nome da tabela de rotas do líder. Esse valor pode ser encontrado na saída de implantação do líder.
    Espaço de endereço VNET de membro remoto Espaço de endereço do membro. Esse valor pode ser encontrado na saída de implantação do membro.
    IP público de NVA de membro remoto O endereço IP da NVA ao qual se conectar. Esse valor pode ser encontrado na saída de implantação do membro.
    Chave compartilhada de conexão Um segredo pré-estabelecido entre os membros da rede de consórcio que estão estabelecendo uma conexão.
    IP privado NVA do membro O endereço IP NVA do membro. Esse valor pode ser encontrado na saída de implantação do membro.
    URL base URL base onde obter os modelos de implantação. Use o valor padrão, a menos que você queira personalizar os modelos de implantação.
  7. Selecione Examinar + criar. Após a validação bem-sucedida, selecione Criar.

Após a conclusão da implantação, leva alguns minutos para que o líder e o membro iniciem a comunicação. Para verificar a implantação, atualize o site de administração do membro. O status dos nós do membro deve estar em execução.

Verificar a implantação

Próximas etapas

Para saber mais sobre o Ethereum e o Azure, consulte Blockchain Technology and Applications.