Distribuera ett Ethereum blockchain-nätverk på Azure Stack HubDeploy an Ethereum blockchain network on Azure Stack Hub

Ethereum lösnings mal len är utformad för att göra det enklare och snabbare att distribuera och konfigurera ett Ethereum blockchain-nätverk med flera medlemmar med minimal Azure-och Ethereum-kunskap.The Ethereum solution template is designed to make it easier and quicker to deploy and configure a multi-member consortium Ethereum blockchain network with minimal Azure and Ethereum knowledge.

Med en fåtal med indata från användaren och en enkel klicknings distribution via Azure Stack Hub-klient portalen, kan varje medlem etablera sitt nätverk.With a handful of user inputs and a single-click deployment through the Azure Stack Hub tenant portal, each member can provision their network footprint. Varje medlems nätverks storlek består av tre saker:Each member's network footprint consists of three things:

  1. En uppsättning belastningsutjämnade transaktions-noder som en app eller användare kan använda för att skicka transaktioner.A set of load-balanced transaction nodes with which an app or user can interact to submit transactions.
  2. En uppsättning utvinnings noder för att registrera transaktioner.A set of mining nodes to record transactions.
  3. En virtuell nätverks installation (NVA).A Network Virtual Appliance (NVA).

Ett senare anslutnings steg ansluter NVA för att skapa ett fullständigt konfigurerat blockchain-nätverk i flera medlemmar.A later connection step connects the NVAs to create a fully configured multi-member blockchain network.

Konfigurera:To set up:

  • Välj en distributions arkitektur.Choose a deployment architecture.
  • Distribuera en fristående, konsortiums ledare eller ett konsortiums medlems nätverk.Deploy a standalone, consortium leader, or consortium member network.

FörutsättningarPrerequisites

Hämta de senaste objekten från Marketplace:Download the latest items from the Marketplace:

  • Ubuntu Server 16,04 LTSUbuntu Server 16.04 LTS
  • Windows Server 2016Windows Server 2016
  • Anpassat skript för Linux 2,0Custom Script for Linux 2.0
  • Anpassat skripttillägg för WindowsCustom Script Extension for Windows

Mer information om blockchain-scenarier finns i Ethereum proof-of-Authority konsortium Solution Template.For more info on blockchain scenarios, see Ethereum proof-of-authority consortium solution template.

Distributions arkitekturDeployment architecture

Den här lösnings mal len kan distribuera ett enda eller flera Ethereum konsortium-nätverk.This solution template can deploy a single or multi-member Ethereum consortium network. Det virtuella nätverket är anslutet till en replikeringstopologi med hjälp av virtuell nätverks installation och anslutnings resurser.The virtual network is connected in a chain topology using Network Virtual Appliance and connection resources.

Mallen kan distribuera Ethereum Consortium för ledare och medlem på flera olika sätt.The template can deploy Ethereum consortium for leader and member in a variety of ways. Här följer de de som vi har testat:Here are the ones we've tested:

  • På en Azure Stack hubb med flera noder, med Azure AD eller AD FS, distribuerar du lead och medlem med samma prenumeration eller med olika prenumerationer.On a multi-node Azure Stack Hub, with Azure AD or AD FS, deploy lead and member using the same subscription or with different subscriptions.
  • Distribuera lead och medlem med samma prenumeration på en Azure Stack hubb för en nod (med Azure AD).On a single-node Azure Stack Hub (with Azure AD), deploy lead and member using the same subscription.

Distribution av fristående och konsortiums ledareStandalone and consortium leader deployment

Konsortiets ledare konfigurerar den första medlemmens storlek i nätverket.The consortium leader template configures the first member's footprint in the network.

  1. Ladda ned mallen ledare från GitHub.Download the leader template from GitHub.

  2. I Azure Stack Hub-klient portal väljer du + skapa en resurs > malldistribution för att distribuera från en anpassad mall.In the Azure Stack Hub tenant portal, select + Create a resource > Template deployment to deploy from a custom template.

  3. Välj Bygg en egen mall i redigeraren för att redigera den nya anpassade mallen.Select Build your own template in the editor to edit the new custom template.

  4. I redigerings fönstret till höger kopierar du och klistrar in mallen för ledare för ledare som du tidigare har laddat ned.In the editing pane on the right, copy and paste the leader template JSON you previously downloaded.

    Redigera mall med ledar mal len inklistradEdit template with the leader template pasted

  5. Välj Spara.Select Save.

  6. På fliken grundläggande inställningar slutför du följande inställningar.On the Basics tab, complete the following settings.

    ParameternamnParameter name BeskrivningDescription ExempelvärdeSample value
    PrenumerationSubscription Den prenumeration som används för att distribuera konsortiets nätverk.The subscription to which to deploy the consortium network. Förbruknings prenumerationConsumption Subscription
    ResursgruppResource group Den resurs grupp som används för att distribuera konsortial nätverket.The resource group to which to deploy the consortium network. EthereumResourcesEthereumResources
    RegionRegion Azure-regionen för resurser.The Azure region for resources. lokaltlocal
    Namn-prefixName prefix Sträng som används som bas för att namnge de distribuerade resurserna.String used as a base for naming the deployed resources. Använd högst sex alfanumeriska tecken.Use a maximum of six alphanumeric characters. ETHeth
    AutentiseringstypAuth type Metoden för att autentisera till den virtuella datorn.The method to authenticate to the VM. Tillåtna värden är lösen ord eller offentlig SSH-nyckel.Allowed values are password or SSH public key. lösenordsinställningPassword
    Användarnamn för administratörAdmin username Administratörs användar namn för varje distribuerad virtuell dator.Admin username of each deployed VM. Använd mellan en och 64 tecken.Use from one to 64 characters. gethadmingethadmin
    Administratörs lösen ord (autentiseringstyp = lösen ord)Admin password (Authentication type = Password) Lösen ordet för administratörs kontot för var och en av de virtuella datorerna som distribueras.The password for the admin account for each of the VMs deployed. Lösen ordet måste innehålla 3 av följande krav: 1 gemen bokstav, 1 gemen bokstav, 1 siffra och 1 specialtecken.The password must contain 3 of the following requirements: 1 upper case character, 1 lower case character, 1 number, and 1 special character.
    Även om alla virtuella datorer ursprungligen har samma lösen ord, kan du ändra lösen ordet efter etableringen.While all VMs initially have the same password, you can change the password after provisioning. Använd mellan 12 och 72 tecken.Use from 12 to 72 characters.
    Admin SSH-nyckel (autentiseringstyp = sshPublicKey)Admin SSH key (Authentication type = sshPublicKey) Den offentliga RSA-nyckel-sträng som används för fjärrinloggning.The secure shell RSA public key string used for remote login.
    Genesis-blockGenesis block JSON-sträng som representerar ett anpassat Genesis-block.JSON string representing custom genesis block. Det är valfritt att ange ett värde för den här parametern.Specifying a value for this parameter is optional.
    Lösen ord för Ethereum-kontoEthereum account password Det administratörs lösen ord som används för att skydda Ethereum-kontot.The admin password used to secure the Ethereum account.
    Lösen fras för Ethereum-kontoEthereum account passphrase Den lösen fras som används för att skapa en privat nyckel som är kopplad till Ethereum-kontot.The passphrase used to generate private key associated with the Ethereum account. Överväg ett lösen ord med tillräcklig slumpmässighet för att säkerställa en stark privat nyckel.Consider a password with sufficient randomness to ensure a strong private key.
    Nätverks-ID för EthereumEthereum network ID Konsortiums nätverks-ID.The network ID of the consortium. Använd ett värde mellan 5 och 999 999 999.Use any value between 5 and 999,999,999. 7272
    Konsortiums medlems-IDConsortium member ID Det ID som är kopplat till varje medlem i konsortiet nätverk.The ID associated with each member of the consortium network. Detta ID ska vara unikt i nätverket.This ID should be unique in the network. 00
    Antal utvinnings noderNumber mining nodes Antal utvinnings noder för varje medlem i konsortiet.Number of mining nodes for each consortium member. Använd ett värde mellan 2 och 15.Use a value between 2 and 15. 22
    VM-storlek för utvinnings nodMining node VM size VM-storlek för utvinnings noderna.VM size of the mining nodes. Standard_A1Standard_A1
    Konto typ för utvinnings lagringMining storage account type Lagrings prestanda för utvinnings noderna.Storage performance of the mining nodes. Standard_LRSStandard_LRS
    Antal TX-noderNumber TX nodes Antal noder för belastningsutjämnad transaktioner.Number of load balanced transaction nodes. Använd ett värde mellan 1 och 5.Use a value between 1 and 5. 11
    VM-storlek för TX-nodTX node VM size VM-storlek för Transaction-noderna.VM size of the transaction nodes. Standard_A1Standard_A1
    Konto typ för TX-lagringTX storage account type Lagrings prestanda för Transaction-noderna.Storage performance of the transaction nodes. Standard_LRSStandard_LRS
    Grundläggande URLBase URL Bas-URL där du kan hämta mallar för distribution.Base URL where to get the deployment templates. Använd standardvärdet om du inte vill anpassa mallar för distribution.Use the default value unless you want to customize the deployment templates.
  7. Välj Granska + skapa.Select Review + create. När verifieringen är klar väljer du skapa.After successful validation, select Create.

Distributionen kan ta 20 minuter eller längre att slutföra.Deployment can take 20 minutes or longer to complete.

När distributionen är klar granskar du distributions översikten för Microsoft. template i avsnittet distribution i resurs gruppen.After deployment completes, review the deployment summary for Microsoft.Template in the deployment section of the resource group. Sammanfattningen innehåller utmatnings värden som används för att ansluta till konsortial medlemmar.The summary contains output values used to join consortium members.

Om du vill verifiera ledarens distribution går du till ledarens administratörs webbplats.To verify leader's deployment, go to the leader's admin site. Administratörs webbplats adressen finns i avsnittet utdata i Microsoft. template -distributionen.The admin site address is found in the output section of the Microsoft.Template deployment.

Sammanfattning av ledar distribution

Anslutning av konsortiets medlems distributionJoining consortium member deployment

  1. Hämta konsortiet medlems mal len från GitHub.Download the consortium member template from GitHub.

  2. I Azure Stack Hub-klient portal väljer du + skapa en resurs > malldistribution för att distribuera från en anpassad mall.In the Azure Stack Hub tenant portal, select + Create a resource > Template deployment to deploy from a custom template.

  3. Välj Bygg en egen mall i redigeraren för att redigera den nya anpassade mallen.Select Build your own template in the editor to edit the new custom template.

  4. I redigerings fönstret till höger kopierar du och klistrar in den språkmall för konsortiet medlems mallar som du tidigare har laddat ned.In the editing pane on the right, copy and paste the consortium member template JSON you previously downloaded.

  5. Välj Spara.Select Save.

  6. På fliken grundläggande inställningar slutför du följande inställningar.On the Basics tab, complete the following settings.

    ParameternamnParameter name BeskrivningDescription ExempelvärdeSample value
    PrenumerationSubscription Den prenumeration som används för att distribuera konsortiets nätverk.The subscription to which to deploy the consortium network. Förbruknings prenumerationConsumption Subscription
    ResursgruppResource group Den resurs grupp som används för att distribuera konsortial nätverket.The resource group to which to deploy the consortium network. EthereumResourcesEthereumResources
    RegionRegion Azure-regionen för resurser.The Azure region for resources. lokaltlocal
    Namn-prefixName prefix Sträng som används som bas för att namnge de distribuerade resurserna.String used as a base for naming the deployed resources. Använd högst sex alfanumeriska tecken.Use a maximum of six alphanumeric characters. ETHeth
    AutentiseringstypAuth type Metoden för att autentisera till den virtuella datorn.The method to authenticate to the VM. Tillåtna värden är lösen ord eller offentlig SSH-nyckel.Allowed values are Password or SSH public key. lösenordsinställningPassword
    Användarnamn för administratörAdmin username Administratörs användar namn för varje distribuerad virtuell dator.Admin username of each deployed VM. Använd mellan en och 64 tecken.Use from one to 64 characters. gethadmingethadmin
    Administratörs lösen ord (autentiseringstyp = lösen ord)Admin password (Authentication type = Password) Lösen ordet för administratörs kontot för var och en av de virtuella datorerna som distribueras.The password for the admin account for each of the VMs deployed. Lösen ordet måste innehålla 3 av följande krav: 1 gemen bokstav, 1 gemen bokstav, 1 siffra och 1 specialtecken.The password must contain 3 of the following requirements: 1 upper case character, 1 lower case character, 1 number, and 1 special character.
    Även om alla virtuella datorer ursprungligen har samma lösen ord, kan du ändra lösen ordet efter etableringen.While all VMs initially have the same password, you can change the password after provisioning. Använd mellan 12 och 72 tecken.Use from 12 to 72 characters.
    Admin SSH-nyckel (autentiseringstyp = sshPublicKey)Admin SSH key (Authentication type = sshPublicKey) Den offentliga RSA-nyckel-sträng som används för fjärrinloggning.The secure shell RSA public key string used for remote login.
    Genesis-blockGenesis block JSON-sträng som representerar ett anpassat Genesis-block.JSON string representing custom genesis block. Det är valfritt att ange ett värde för den här parametern.Specifying a value for this parameter is optional.
    Lösen ord för Ethereum-kontoEthereum account password Det administratörs lösen ord som används för att skydda Ethereum-kontot.The admin password used to secure the Ethereum account.
    Lösen fras för Ethereum-kontoEthereum account passphrase Den lösen fras som används för att skapa en privat nyckel som är kopplad till Ethereum-kontot.The passphrase used to generate private key associated with the Ethereum account. Överväg ett lösen ord med tillräcklig slumpmässighet för att säkerställa en stark privat nyckel.Consider a password with sufficient randomness to ensure a strong private key.
    Konsortiums medlems-IDConsortium member ID Det ID som är kopplat till varje medlem i konsortiet nätverk.The ID associated with each member of the consortium network. Detta ID ska vara unikt i nätverket.This ID should be unique in the network. 00
    Antal utvinnings noderNumber mining nodes Antal utvinnings noder för varje medlem i konsortiet.Number of mining nodes for each consortium member. Använd ett värde mellan 2 och 15.Use a value between 2 and 15. 22
    VM-storlek för utvinnings nodMining node VM size VM-storlek för utvinnings noderna.VM size of the mining nodes. Standard_A1Standard_A1
    Konto typ för utvinnings lagringMining storage account type Lagrings prestanda för utvinnings noderna.Storage performance of the mining nodes. Standard_LRSStandard_LRS
    Antal TX-noderNumber TX nodes Antal noder för belastningsutjämnad transaktioner.Number of load balanced transaction nodes. Använd ett värde mellan 1 och 5.Use a value between 1 and 5. 11
    VM-storlek för TX-nodTX node VM size VM-storlek för Transaction-noderna.VM size of the transaction nodes. Standard_A1Standard_A1
    Konto typ för TX-lagringTX storage account type Lagrings prestanda för Transaction-noderna.Storage performance of the transaction nodes. Standard_LRSStandard_LRS
    Konsortier-dataConsortium data URL: en som pekar på relevanta konfigurations data från den andra medlems distributionen.The URL pointing to the relevant consortium configuration data provided by another member's deployment. Det här värdet finns på ledarens distributions utdata.This value can be found on leader's deployment output.
    Fjärranslutna medlems VNET-adressutrymmeRemote member VNET address space Det virtuella nätverkets adress utrymme.The VNET address space of the leader. Det här värdet finns på ledarens distributions utdata.This value can be found on leader's deployment output.
    Fjärran sluten medlems NVA offentlig IPRemote member NVA public IP NVA IP-adress för ledaren.The NVA IP address of the leader. Det här värdet finns på ledarens distributions utdata.This value can be found on leader's deployment output.
    Anslutningens delade nyckelConnection shared key En företablerad hemlighet mellan medlemmarna i konsortiet nätverket som etablerar en gateway-anslutning.A pre-established secret between the members of the consortium network that are establishing a gateway connection.
    Grundläggande URLBase URL Bas-URL där du kan hämta mallar för distribution.Base URL where to get the deployment templates. Använd standardvärdet om du inte vill anpassa mallar för distribution.Use the default value unless you want to customize the deployment templates.
  7. Välj Granska + skapa.Select Review + create. När verifieringen är klar väljer du skapa.After successful validation, select Create.

Distributionen kan ta 20 minuter eller längre att slutföra.Deployment can take 20 minutes or longer to complete.

När distributionen är klar granskar du distributions översikten för Microsoft. template i avsnittet distribution i resurs gruppen.After deployment completes, review the deployment summary for Microsoft.Template in the deployment section of the resource group. Sammanfattningen innehåller utmatnings värden som används för att ansluta konsortiet medlemmar.The summary contains output values used to connect consortium members.

Om du vill kontrol lera medlemmens distribution söker du på medlemmens administratörs webbplats.To verify member's deployment, browse member's admin site. Du hittar webbplatsen för administratörs webbplatsen i avsnittet utdata i Microsoft. template -distributionen.You can find the admin site address in the output section of the Microsoft.Template deployment.

Sammanfattning av medlems distribution

Som det visas i bilden körs inte medlemmens noders status.As shown in the picture, member's nodes status is Not running. Den här statusen beror på att anslutningen mellan medlem och ledare inte är upprättad.This status is because the connection between member and leader isn't established. Anslutningen mellan medlem och ledare är en tvåvägs anslutning.The connection between member and leader is a two-way connection. När du distribuerar medlem skapar mallen automatiskt anslutningen från medlem till ledaren.When you deploy member, template automatically creates the connection from member to the leader. Om du vill skapa anslutningen från ledare till medlem går du till nästa steg.To create the connection from leader to member, go to the next step.

Anslut medlem och ledareConnect member and leader

Den här mallen skapar en anslutning från ledaren till en fjär medlem.This template creates a connection from the leader to a remote member.

  1. Ladda ned mallen Anslut medlem och ledare från GitHub.Download the connect member and leader template from GitHub.

  2. I Azure Stack Hub-klient portal väljer du + skapa en resurs > malldistribution för att distribuera från en anpassad mall.In the Azure Stack Hub tenant portal, select + Create a resource > Template deployment to deploy from a custom template.

  3. Välj Bygg en egen mall i redigeraren för att redigera den nya anpassade mallen.Select Build your own template in the editor to edit the new custom template.

  4. I redigerings fönstret till höger kopierar du och klistrar in den språkmall för konsortiet medlems mallar som du tidigare har laddat ned.In the editing pane on the right, copy and paste the consortium member template JSON you previously downloaded.

  5. Välj Spara.Select Save.

  6. Slutför följande inställningar.Complete the following settings.

    ParameternamnParameter name BeskrivningDescription ExempelvärdeSample value
    PrenumerationSubscription Den prenumeration som används för att distribuera konsortiets nätverk.The subscription to which to deploy the consortium network. Förbruknings prenumerationConsumption Subscription
    ResursgruppResource group Den resurs grupp som används för att distribuera konsortial nätverket.The resource group to which to deploy the consortium network. EthereumResourcesEthereumResources
    RegionRegion Azure-regionen för resurser.The Azure region for resources. lokaltlocal
    Prefix för medlems namnMember name prefix Sträng som används som bas för att namnge de distribuerade resurserna.String used as a base for naming the deployed resources. Använd högst sex alfanumeriska tecken.Use a maximum of six alphanumeric characters. ETHeth
    Namn på medlems väg tabellMember route table name Namnet på ledarens routningstabell.Name of the leader's route table. Det här värdet finns på ledarens distributions utdata.This value can be found on leader's deployment output.
    Fjärranslutna medlems VNET-adressutrymmeRemote member VNET address space Medlemmens adress utrymme.Address space of the member. Det här värdet finns i distributions resultatet för medlemmen.This value can be found on member's deployment output.
    Fjärran sluten medlems NVA offentlig IPRemote member NVA public IP NVA IP-adress att ansluta till.The NVA IP address to connect to. Det här värdet finns i distributions resultatet för medlemmen.This value can be found on member's deployment output.
    Anslutningens delade nyckelConnection shared key En företablerad hemlighet mellan medlemmarna i konsortiet nätverket som upprättar en anslutning.A pre-established secret between the members of the consortium network that are establishing a connection.
    Medlem NVA privat IPMember NVA private IP Medlemmens IP-adress för NVA.The NVA IP address of the member. Det här värdet finns i distributions resultatet för medlemmen.This value can be found on member's deployment output.
    Grundläggande URLBase URL Bas-URL där du kan hämta mallar för distribution.Base URL where to get the deployment templates. Använd standardvärdet om du inte vill anpassa mallar för distribution.Use the default value unless you want to customize the deployment templates.
  7. Välj Granska + skapa.Select Review + create. När verifieringen är klar väljer du skapa.After successful validation, select Create.

När distributionen har slutförts tar det några minuter för ledare och medlem att starta kommunikationen.After deployment is complete, it takes few minutes for leader and member to start communication. För att verifiera distributionen, uppdatera medlemmens administratörs webbplats.To verify the deployment, refresh member's admin site. Status för medlemmens noder ska köras.Status of the member's nodes should be running.

Verifiera distributionen

Nästa stegNext steps

Mer information om Ethereum och Azure finns i blockchain-teknik och program.To learn more about Ethereum and Azure, see Blockchain Technology and Applications.