Partilhar via


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 blockchain Ethereum de consórcio multi-membro com conhecimento mínimo do Azure e Ethereum.

Com um punhado de entradas de usuário e uma implantação com um único clique por meio do portal de locatário do Azure Stack Hub, cada membro pode provisionar sua pegada de rede. A pegada 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 registar transações.
  3. Um Aparelho Virtual de Rede (NVA).

Uma etapa de conexão posterior conecta os NVAs para criar uma rede blockchain multi-membro 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

Transfira os itens mais recentes do Marketplace:

  • Ubuntu Server 16.04 LTS
  • Windows Server 2016
  • Script personalizado para Linux 2.0
  • Extensão de script personalizada para 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 é conectada em uma topologia de cadeia usando o Network Virtual Appliance e 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 com vários nós, com o Microsoft Entra ID ou AD FS, implante 'lead' e 'member' usando a mesma subscrição ou com subscrições diferentes.
  • Em um Azure Stack Hub de nó único (com o Microsoft Entra ID), implante o principal e o membro utilizando a mesma subscrição.

Implementação autónoma e líder de consórcio

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

  1. Descarregue o modelo líder do GitHub.

  2. No portal do locatário do Azure Stack Hub, selecione + Criar um recurso e > Implantação de modelo para implementar a partir de um modelo personalizado.

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

  4. No painel de edição à direita, copie e cole o JSON de modelo de líder que você baixou anteriormente.

    Editar modelo com o modelo principal colado

  5. Selecione Salvar.

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

    Nome do parâmetro Descrição Valor da amostra
    Subscrição A assinatura para implantar a rede de consórcio. Subscrição de Consumo
    Grupo de recursos O grupo de recursos onde implantar a rede de consórcio. Recursos Ethereum
    Região A região do Azure para os recursos. Locais
    Prefixo do nome String usada como base para nomear os recursos implantados. Use um máximo de seis caracteres alfanuméricos. Eth
    Tipo de autenticação O método para autenticar na VM. Os valores permitidos são senha ou chave pública SSH. Palavra-passe
    Nome de utilizador do administrador Nome de usuário administrador de cada VM implantada. Use de um a 64 caracteres. gethadmin
    Senha de administrador (Tipo de autenticação = Senha) A senha da conta de administrador para cada uma das VMs implantadas. A senha deve conter 3 dos seguintes requisitos: 1 caractere maiúsculo, 1 caractere minúsculo, 1 número e 1 caractere especial.
    Embora todas as VMs inicialmente tenham a mesma senha, você pode alterar a senha após o provisionamento. Use de 12 a 72 caracteres.
    Chave SSH Admin (Tipo de autenticação = sshPublicKey) A cadeia pública de chave RSA do shell seguro usada para login remoto.
    Bloco Gênesis Cadeia de caracteres JSON que representa o bloco de gênese personalizado. Especificar um valor para esse parâmetro é opcional.
    Senha da conta Ethereum A senha de administrador usada para proteger a conta Ethereum.
    Senha da conta Ethereum A senha usada para gerar a chave privada associada à conta Ethereum. Considere uma senha com aleatoriedade suficiente para garantir uma chave privada forte.
    ID da rede Ethereum O ID da rede do consórcio. Use qualquer valor entre 5 e 999.999.999. 72
    ID do membro do consórcio O ID associado a cada membro da rede do consórcio. Esse ID deve ser exclusivo 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
    Base URL 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 Rever + 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, revise o resumo da implantação para Microsoft.Template na seção de implantação do grupo de recursos. O resumo contém os valores de saída utilizados para aderir aos membros do consórcio.

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

Resumo da implantação do Leader

Juntando-se à 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 um recurso > Implantação de modelo para implantar a partir de um modelo personalizado.

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

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

  5. Selecione Salvar.

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

    Nome do parâmetro Descrição Valor da amostra
    Subscrição A assinatura para implantar a rede de consórcio. Subscrição de Consumo
    Grupo de recursos O grupo de recursos onde implantar a rede de consórcio. Recursos Ethereum
    Região A região do Azure destinada a recursos. Locais
    Prefixo do nome String usada como base para nomear os recursos implantados. Use um máximo de seis caracteres alfanuméricos. Ethereum
    Tipo de autenticação O método para autenticar na VM. Os valores permitidos são Password ou SSH public key. Palavra-passe
    Nome de utilizador do administrador Nome de usuário administrador de cada VM implantada. Use de um a 64 caracteres. gethadmin
    Senha de administrador (Tipo de autenticação = Senha) A senha da conta de administrador para cada uma das VMs implantadas. A senha deve conter 3 dos seguintes requisitos: 1 caractere maiúsculo, 1 caractere minúsculo, 1 número e 1 caractere especial.
    Embora todas as VMs inicialmente tenham a mesma senha, você pode alterar a senha após o provisionamento. Use de 12 a 72 caracteres.
    Chave SSH Admin (Tipo de autenticação = sshPublicKey) A cadeia de caracteres de chave pública RSA do shell seguro usada para login remoto.
    Bloco Gênesis Cadeia de caracteres JSON que representa o bloco de gênese personalizado. Especificar um valor para esse parâmetro é opcional.
    Senha da conta Ethereum A senha de administrador usada para proteger a conta Ethereum.
    Senha da conta Ethereum A senha usada para gerar a chave privada associada à conta Ethereum. Considere uma senha com aleatoriedade suficiente para garantir uma chave privada forte.
    ID do membro do consórcio O ID associado a cada membro da rede do consórcio. Esse ID deve ser exclusivo 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
    Dados do consórcio URL que aponta para os dados de configuração relevantes do consórcio fornecidos pela implementação de outro membro. Esse valor pode ser encontrado nos resultados de implantação do líder.
    Espaço de endereço da VNET do membro remoto O espaço de endereçamento VNET do líder. Esse valor pode ser encontrado no resultado de implementação pelo líder.
    IP NVA público de membro remoto O endereço IP 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 do consórcio que estão estabelecendo uma conexão de gateway.
    Base URL 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 Revisão + 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, revise 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 os membros do consórcio.

Para verificar a implantação do membro, navegue pelo site de administração do membro. Você pode encontrar o endereço do site de administração na seção de saída do Microsoft.Template implantação.

Resumo da designação de membros

Como mostrado na imagem, o status dos nós do membro é Não está executando. Esse status ocorre porque a conexão entre membro e líder não é 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.

Conecte membro e líder

Este modelo cria uma conexão do líder para um membro remoto.

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

  2. No portal do locatário do Azure Stack Hub, selecione + Criar um recurso > Implantação de modelo para desdobrar a partir de um modelo personalizado.

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

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

  5. Selecione Salvar.

  6. Conclua as seguintes configurações.

    Nome do parâmetro Descrição Valor da amostra
    Subscrição A assinatura para implantar a rede de consórcio. Assinatura de Consumo
    Grupo de recursos O grupo de recursos em que implantar na rede de consórcio. Recursos Ethereum
    Região A região Azure para recursos. Locais
    Prefixo do nome do membro String usada como base para nomear os recursos implantados. Use um máximo de seis caracteres alfanuméricos. Ethereum
    Nome da tabela de rotas do 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 no resultado da implementação do membro.
    IP público NVA de membro remoto O endereço IP NVA ao qual se conectar. Esse valor pode ser encontrado no resultado da implementaçã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.
    Membro NVA IP privado O endereço IP NVA do membro. Esse valor pode ser encontrado nos resultados da implementação do membro.
    Base URL 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 Rever + 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. Os nós do membro devem estar a funcionar.

Verificar o de implantação

Próximos passos

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