Een Ethereum Block chain-netwerk implementeren op Azure Stack hubDeploy an Ethereum blockchain network on Azure Stack Hub

De oplossings sjabloon Ethereum is ontworpen om het eenvoudiger en sneller maken en configureren van een consortium Ethereum Block chain-netwerk met meerdere leden met minimale Azure-en Ethereum kennis.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.

Met een aantal gebruikers invoer en een implementatie met één klik via de Azure Stack hub-Tenant Portal kan elk lid hun netwerk footprint inrichten.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. De netwerk footprint van elk lid bestaat uit drie dingen:Each member's network footprint consists of three things:

  1. Een reeks trans actie knooppunten met taak verdeling waarmee een app of gebruiker trans acties kan verzenden.A set of load-balanced transaction nodes with which an app or user can interact to submit transactions.
  2. Een verzameling analyse knooppunten voor het vastleggen van trans acties.A set of mining nodes to record transactions.
  3. Een virtueel netwerk apparaat (NVA).A Network Virtual Appliance (NVA).

Een latere verbindings stap verbindt de Nva's om een volledig geconfigureerd Block chain-netwerk met meerdere leden te maken.A later connection step connects the NVAs to create a fully configured multi-member blockchain network.

Instellen:To set up:

  • Kies een implementatie architectuur.Choose a deployment architecture.
  • Implementeer een zelfstandig, consortium leider of consortium netwerk.Deploy a standalone, consortium leader, or consortium member network.

VereistenPrerequisites

Down load de nieuwste items van Marketplace:Download the latest items from the Marketplace:

  • Ubuntu Server 16,04 LTSUbuntu Server 16.04 LTS
  • Windows Server 2016Windows Server 2016
  • Aangepast script voor Linux 2,0Custom Script for Linux 2.0
  • Aangepaste scriptextensie voor WindowsCustom Script Extension for Windows

Zie voor meer informatie over Block Chain-scenario's Ethereum proof-of-Authority consortium-oplossings sjabloon.For more info on blockchain scenarios, see Ethereum proof-of-authority consortium solution template.

Implementatie architectuurDeployment architecture

Met deze oplossings sjabloon kunt u een single-of multi-Ethereum consortium-netwerk implementeren.This solution template can deploy a single or multi-member Ethereum consortium network. Het virtuele netwerk is verbonden met een keten topologie met behulp van virtuele netwerk apparaten en verbindings bronnen.The virtual network is connected in a chain topology using Network Virtual Appliance and connection resources.

De sjabloon kan Ethereum consortium voor leiders en leden op verschillende manieren implementeren.The template can deploy Ethereum consortium for leader and member in a variety of ways. Dit zijn de tests die we hebben getest:Here are the ones we've tested:

  • Op een Azure Stack hub met meerdere knoop punten, met Azure AD of AD FS, implementeert u leads en leden met hetzelfde abonnement of met verschillende abonnementen.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.
  • Implementeer op een Azure Stack hub met één knoop punt (met Azure AD) lead en lid met hetzelfde abonnement.On a single-node Azure Stack Hub (with Azure AD), deploy lead and member using the same subscription.

Implementatie van zelfstandige en consortium leiderStandalone and consortium leader deployment

Met de sjabloon voor het consortium leider wordt de footprint van het eerste lid in het netwerk geconfigureerd.The consortium leader template configures the first member's footprint in the network.

  1. Down load de Leader sjabloon van github.Download the leader template from GitHub.

  2. Selecteer in de Tenant portal van Azure Stack hub + een resource maken > Sjabloonimlementatie om te implementeren op basis van een aangepaste sjabloon.In the Azure Stack Hub tenant portal, select + Create a resource > Template deployment to deploy from a custom template.

  3. Selecteer uw eigen sjabloon bouwen in de editor om de nieuwe aangepaste sjabloon te bewerken.Select Build your own template in the editor to edit the new custom template.

  4. Kopieer en plak in het bewerkings venster aan de rechter kant de JSON-sjabloon die u eerder hebt gedownload.In the editing pane on the right, copy and paste the leader template JSON you previously downloaded.

    Sjabloon bewerken met de geplakte Leader sjabloonEdit template with the leader template pasted

  5. Selecteer Opslaan.Select Save.

  6. Op het tabblad basis beginselen voert u de volgende instellingen in.On the Basics tab, complete the following settings.

    ParameternaamParameter name BeschrijvingDescription VoorbeeldwaardeSample value
    AbonnementSubscription Het abonnement waarop het consortium netwerk moet worden geïmplementeerd.The subscription to which to deploy the consortium network. Verbruiks abonnementConsumption Subscription
    ResourcegroepResource group De resource groep waarvoor het consortium netwerk moet worden geïmplementeerd.The resource group to which to deploy the consortium network. EthereumResourcesEthereumResources
    RegioRegion De Azure-regio voor resources.The Azure region for resources. lokaallocal
    Naam voorvoegselName prefix Teken reeks die wordt gebruikt als basis voor het benoemen van de geïmplementeerde resources.String used as a base for naming the deployed resources. Gebruik Maxi maal zes alfanumerieke tekens.Use a maximum of six alphanumeric characters. ETHeth
    Verificatie typeAuth type De methode voor verificatie bij de virtuele machine.The method to authenticate to the VM. Toegestane waarden zijn wacht woord of open bare SSH-sleutel.Allowed values are password or SSH public key. WachtwoordPassword
    Gebruikersnaam van beheerderAdmin username De gebruikers naam van de beheerder van elke geïmplementeerde VM.Admin username of each deployed VM. Gebruiken van een tot 64 tekens.Use from one to 64 characters. gethadmingethadmin
    Beheerders wachtwoord (verificatie type = wacht woord)Admin password (Authentication type = Password) Het wacht woord voor het beheerders account voor elk van de Vm's die zijn geïmplementeerd.The password for the admin account for each of the VMs deployed. Het wacht woord moet drie van de volgende vereisten bevatten: 1 hoofd letter, 1 kleine letter, 1 cijfer en 1 speciaal teken.The password must contain 3 of the following requirements: 1 upper case character, 1 lower case character, 1 number, and 1 special character.
    Hoewel alle Vm's in eerste instantie hetzelfde wacht woord hebben, kunt u het wacht woord na het inrichten wijzigen.While all VMs initially have the same password, you can change the password after provisioning. Gebruik van 12 tot 72 tekens.Use from 12 to 72 characters.
    SSH-sleutel van de beheerder (verificatie type = sshPublicKey)Admin SSH key (Authentication type = sshPublicKey) De open bare sleutel van de Secure Shell RSA-teken reeks die wordt gebruikt voor externe aanmelding.The secure shell RSA public key string used for remote login.
    Genesis blokGenesis block JSON-teken reeks die het aangepaste Genesis-blok vertegenwoordigt.JSON string representing custom genesis block. Het opgeven van een waarde voor deze para meter is optioneel.Specifying a value for this parameter is optional.
    Ethereum-account wachtwoordEthereum account password Het beheerders wachtwoord voor het beveiligen van het Ethereum-account.The admin password used to secure the Ethereum account.
    Wachtwoordzin van Ethereum-accountEthereum account passphrase De wachtwoordzin die wordt gebruikt voor het genereren van de persoonlijke sleutel die is gekoppeld aan het Ethereum-account.The passphrase used to generate private key associated with the Ethereum account. Overweeg een wacht woord met voldoende wille keurigheid om een sterke persoonlijke sleutel te garanderen.Consider a password with sufficient randomness to ensure a strong private key.
    Ethereum-netwerk-IDEthereum network ID De netwerk-ID van het consortium.The network ID of the consortium. Gebruik een waarde tussen 5 en 999.999.999.Use any value between 5 and 999,999,999. 7272
    Lid-ID van consortiumConsortium member ID De ID die aan elk lid van het consortium netwerk is gekoppeld.The ID associated with each member of the consortium network. Deze ID moet uniek zijn in het netwerk.This ID should be unique in the network. 00
    Nummer analyse knooppuntenNumber mining nodes Aantal analyse knooppunten voor elk lid van het consortium.Number of mining nodes for each consortium member. Gebruik een waarde tussen 2 en 15.Use a value between 2 and 15. 22
    VM-grootte van analyse knooppuntMining node VM size VM-grootte van de analyse knooppunten.VM size of the mining nodes. Standard_A1Standard_A1
    Type opslag account voor analyseMining storage account type Opslag prestaties van de analyse knooppunten.Storage performance of the mining nodes. Standard_LRSStandard_LRS
    Aantal TX-knoop puntenNumber TX nodes Aantal transactie knooppunten met gelijke taak verdeling.Number of load balanced transaction nodes. Gebruik een waarde tussen 1 en 5.Use a value between 1 and 5. 11
    Grootte van de VM van het TX-knoop puntTX node VM size VM-grootte van de transactie knooppunten.VM size of the transaction nodes. Standard_A1Standard_A1
    Account type voor TX-opslagTX storage account type Opslag prestaties van de transactie knooppunten.Storage performance of the transaction nodes. Standard_LRSStandard_LRS
    Basis-URLBase URL Basis-URL waar de implementatie sjablonen moeten worden opgehaald.Base URL where to get the deployment templates. Gebruik de standaard waarde tenzij u de implementatie sjablonen wilt aanpassen.Use the default value unless you want to customize the deployment templates.
  7. Selecteer Controleren + maken.Select Review + create. Selecteer maken nadat de validatie is voltooid.After successful validation, select Create.

Het volt ooien van de implementatie kan 20 minuten of langer duren.Deployment can take 20 minutes or longer to complete.

Nadat de implementatie is voltooid, controleert u de samen vatting van de implementatie voor micro soft. Temp late in het gedeelte implementatie van de resource groep.After deployment completes, review the deployment summary for Microsoft.Template in the deployment section of the resource group. De samen vatting bevat uitvoer waarden die worden gebruikt om lid te worden van consortium leden.The summary contains output values used to join consortium members.

Ga naar de beheer site van de leider om de implementatie van de leider te controleren.To verify leader's deployment, go to the leader's admin site. Het adres van de beheer site vindt u in de sectie uitvoer van de implementatie van micro soft. Temp late .The admin site address is found in the output section of the Microsoft.Template deployment.

Overzicht van de implementatie van Leader

Lidmaatschap van consortium-leden implementerenJoining consortium member deployment

  1. Down load de sjabloon voor het consortium lid van github.Download the consortium member template from GitHub.

  2. Selecteer in de Tenant portal van Azure Stack hub + een resource maken > Sjabloonimlementatie om te implementeren op basis van een aangepaste sjabloon.In the Azure Stack Hub tenant portal, select + Create a resource > Template deployment to deploy from a custom template.

  3. Selecteer uw eigen sjabloon bouwen in de editor om de nieuwe aangepaste sjabloon te bewerken.Select Build your own template in the editor to edit the new custom template.

  4. In het bewerkings venster aan de rechter kant kopieert en plakt u de JSON-sjabloon voor het consortium die u eerder hebt gedownload.In the editing pane on the right, copy and paste the consortium member template JSON you previously downloaded.

  5. Selecteer Opslaan.Select Save.

  6. Op het tabblad basis beginselen voert u de volgende instellingen in.On the Basics tab, complete the following settings.

    ParameternaamParameter name BeschrijvingDescription VoorbeeldwaardeSample value
    AbonnementSubscription Het abonnement waarop het consortium netwerk moet worden geïmplementeerd.The subscription to which to deploy the consortium network. Verbruiks abonnementConsumption Subscription
    ResourcegroepResource group De resource groep waarvoor het consortium netwerk moet worden geïmplementeerd.The resource group to which to deploy the consortium network. EthereumResourcesEthereumResources
    RegioRegion De Azure-regio voor resources.The Azure region for resources. lokaallocal
    Naam voorvoegselName prefix Teken reeks die wordt gebruikt als basis voor het benoemen van de geïmplementeerde resources.String used as a base for naming the deployed resources. Gebruik Maxi maal zes alfanumerieke tekens.Use a maximum of six alphanumeric characters. ETHeth
    Verificatie typeAuth type De methode voor verificatie bij de virtuele machine.The method to authenticate to the VM. Toegestane waarden zijn wacht woord of open bare SSH-sleutel.Allowed values are Password or SSH public key. WachtwoordPassword
    Gebruikersnaam van beheerderAdmin username De gebruikers naam van de beheerder van elke geïmplementeerde VM.Admin username of each deployed VM. Gebruiken van een tot 64 tekens.Use from one to 64 characters. gethadmingethadmin
    Beheerders wachtwoord (verificatie type = wacht woord)Admin password (Authentication type = Password) Het wacht woord voor het beheerders account voor elk van de Vm's die zijn geïmplementeerd.The password for the admin account for each of the VMs deployed. Het wacht woord moet drie van de volgende vereisten bevatten: 1 hoofd letter, 1 kleine letter, 1 cijfer en 1 speciaal teken.The password must contain 3 of the following requirements: 1 upper case character, 1 lower case character, 1 number, and 1 special character.
    Hoewel alle Vm's in eerste instantie hetzelfde wacht woord hebben, kunt u het wacht woord na het inrichten wijzigen.While all VMs initially have the same password, you can change the password after provisioning. Gebruik van 12 tot 72 tekens.Use from 12 to 72 characters.
    SSH-sleutel van de beheerder (verificatie type = sshPublicKey)Admin SSH key (Authentication type = sshPublicKey) De open bare sleutel van de Secure Shell RSA-teken reeks die wordt gebruikt voor externe aanmelding.The secure shell RSA public key string used for remote login.
    Genesis blokGenesis block JSON-teken reeks die het aangepaste Genesis-blok vertegenwoordigt.JSON string representing custom genesis block. Het opgeven van een waarde voor deze para meter is optioneel.Specifying a value for this parameter is optional.
    Ethereum-account wachtwoordEthereum account password Het beheerders wachtwoord voor het beveiligen van het Ethereum-account.The admin password used to secure the Ethereum account.
    Wachtwoordzin van Ethereum-accountEthereum account passphrase De wachtwoordzin die wordt gebruikt voor het genereren van de persoonlijke sleutel die is gekoppeld aan het Ethereum-account.The passphrase used to generate private key associated with the Ethereum account. Overweeg een wacht woord met voldoende wille keurigheid om een sterke persoonlijke sleutel te garanderen.Consider a password with sufficient randomness to ensure a strong private key.
    Lid-ID van consortiumConsortium member ID De ID die aan elk lid van het consortium netwerk is gekoppeld.The ID associated with each member of the consortium network. Deze ID moet uniek zijn in het netwerk.This ID should be unique in the network. 00
    Nummer analyse knooppuntenNumber mining nodes Aantal analyse knooppunten voor elk lid van het consortium.Number of mining nodes for each consortium member. Gebruik een waarde tussen 2 en 15.Use a value between 2 and 15. 22
    VM-grootte van analyse knooppuntMining node VM size VM-grootte van de analyse knooppunten.VM size of the mining nodes. Standard_A1Standard_A1
    Type opslag account voor analyseMining storage account type Opslag prestaties van de analyse knooppunten.Storage performance of the mining nodes. Standard_LRSStandard_LRS
    Aantal TX-knoop puntenNumber TX nodes Aantal transactie knooppunten met gelijke taak verdeling.Number of load balanced transaction nodes. Gebruik een waarde tussen 1 en 5.Use a value between 1 and 5. 11
    Grootte van de VM van het TX-knoop puntTX node VM size VM-grootte van de transactie knooppunten.VM size of the transaction nodes. Standard_A1Standard_A1
    Account type voor TX-opslagTX storage account type Opslag prestaties van de transactie knooppunten.Storage performance of the transaction nodes. Standard_LRSStandard_LRS
    Consortium gegevensConsortium data De URL die verwijst naar de relevante consortium configuratie gegevens die door de implementatie van een ander lid worden gegeven.The URL pointing to the relevant consortium configuration data provided by another member's deployment. Deze waarde kan worden gevonden voor de implementatie-uitvoer van de Leader.This value can be found on leader's deployment output.
    VNET-adres ruimte extern lidRemote member VNET address space De VNET-adres ruimte van de leider.The VNET address space of the leader. Deze waarde kan worden gevonden voor de implementatie-uitvoer van de Leader.This value can be found on leader's deployment output.
    Openbaar IP-adres van extern lid NVARemote member NVA public IP Het IP-adres van de NVA van de leider.The NVA IP address of the leader. Deze waarde kan worden gevonden voor de implementatie-uitvoer van de Leader.This value can be found on leader's deployment output.
    Gedeelde sleutel van verbindingConnection shared key Een vooraf ingesteld geheim tussen de leden van het consortium die een gateway verbinding tot stand brengen.A pre-established secret between the members of the consortium network that are establishing a gateway connection.
    Basis-URLBase URL Basis-URL waar de implementatie sjablonen moeten worden opgehaald.Base URL where to get the deployment templates. Gebruik de standaard waarde tenzij u de implementatie sjablonen wilt aanpassen.Use the default value unless you want to customize the deployment templates.
  7. Selecteer Controleren + maken.Select Review + create. Selecteer maken nadat de validatie is voltooid.After successful validation, select Create.

Het volt ooien van de implementatie kan 20 minuten of langer duren.Deployment can take 20 minutes or longer to complete.

Nadat de implementatie is voltooid, controleert u de samen vatting van de implementatie voor micro soft. Temp late in het gedeelte implementatie van de resource groep.After deployment completes, review the deployment summary for Microsoft.Template in the deployment section of the resource group. De samen vatting bevat uitvoer waarden die worden gebruikt voor het verbinden van consortium leden.The summary contains output values used to connect consortium members.

Als u de implementatie van het lid wilt verifiëren, bladert u de beheer site van het lid.To verify member's deployment, browse member's admin site. U kunt het adres van de beheer site vinden in de sectie uitvoer van de implementatie van micro soft. Temp late .You can find the admin site address in the output section of the Microsoft.Template deployment.

Samen vatting van de leden implementatie

Zoals in de afbeelding wordt weer gegeven, is de status van de knoop punten van het lid niet actief.As shown in the picture, member's nodes status is Not running. Deze status is omdat de verbinding tussen lid en leider niet tot stand is gebracht.This status is because the connection between member and leader isn't established. De verbinding tussen lid en leider is een twee richtings verbinding.The connection between member and leader is a two-way connection. Wanneer u een lid implementeert, maakt sjabloon automatisch de verbinding van het lid met de leider.When you deploy member, template automatically creates the connection from member to the leader. Als u de verbinding van leider naar lid wilt maken, gaat u naar de volgende stap.To create the connection from leader to member, go to the next step.

Lid en leider verbindenConnect member and leader

Met deze sjabloon maakt u een verbinding van de leider naar een extern lid.This template creates a connection from the leader to a remote member.

  1. Down load de sjabloon Connect member en Leader van github.Download the connect member and leader template from GitHub.

  2. Selecteer in de Tenant portal van Azure Stack hub + een resource maken > Sjabloonimlementatie om te implementeren op basis van een aangepaste sjabloon.In the Azure Stack Hub tenant portal, select + Create a resource > Template deployment to deploy from a custom template.

  3. Selecteer uw eigen sjabloon bouwen in de editor om de nieuwe aangepaste sjabloon te bewerken.Select Build your own template in the editor to edit the new custom template.

  4. In het bewerkings venster aan de rechter kant kopieert en plakt u de JSON-sjabloon voor het consortium die u eerder hebt gedownload.In the editing pane on the right, copy and paste the consortium member template JSON you previously downloaded.

  5. Selecteer Opslaan.Select Save.

  6. Voer de volgende instellingen uit.Complete the following settings.

    ParameternaamParameter name BeschrijvingDescription VoorbeeldwaardeSample value
    AbonnementSubscription Het abonnement waarop het consortium netwerk moet worden geïmplementeerd.The subscription to which to deploy the consortium network. Verbruiks abonnementConsumption Subscription
    ResourcegroepResource group De resource groep waarvoor het consortium netwerk moet worden geïmplementeerd.The resource group to which to deploy the consortium network. EthereumResourcesEthereumResources
    RegioRegion De Azure-regio voor resources.The Azure region for resources. lokaallocal
    Voor voegsel van lidnaamMember name prefix Teken reeks die wordt gebruikt als basis voor het benoemen van de geïmplementeerde resources.String used as a base for naming the deployed resources. Gebruik Maxi maal zes alfanumerieke tekens.Use a maximum of six alphanumeric characters. ETHeth
    Naam van de route tabel van de ledenMember route table name De naam van de route tabel van de leider.Name of the leader's route table. Deze waarde kan worden gevonden voor de implementatie-uitvoer van de Leader.This value can be found on leader's deployment output.
    VNET-adres ruimte extern lidRemote member VNET address space De adres ruimte van het lid.Address space of the member. Deze waarde is te vinden op de implementatie-uitvoer van het lid.This value can be found on member's deployment output.
    Openbaar IP-adres van extern lid NVARemote member NVA public IP Het IP-adres van de NVA waarmee verbinding moet worden gemaakt.The NVA IP address to connect to. Deze waarde is te vinden op de implementatie-uitvoer van het lid.This value can be found on member's deployment output.
    Gedeelde sleutel van verbindingConnection shared key Een vooraf ingesteld geheim tussen de leden van het consortium die een verbinding tot stand brengen.A pre-established secret between the members of the consortium network that are establishing a connection.
    Persoonlijk IP-adres van lid NVAMember NVA private IP Het IP-adres van de NVA van het lid.The NVA IP address of the member. Deze waarde is te vinden op de implementatie-uitvoer van het lid.This value can be found on member's deployment output.
    Basis-URLBase URL Basis-URL waar de implementatie sjablonen moeten worden opgehaald.Base URL where to get the deployment templates. Gebruik de standaard waarde tenzij u de implementatie sjablonen wilt aanpassen.Use the default value unless you want to customize the deployment templates.
  7. Selecteer Controleren + maken.Select Review + create. Selecteer maken nadat de validatie is voltooid.After successful validation, select Create.

Nadat de implementatie is voltooid, duurt het enkele minuten voordat de leider en het lid de communicatie starten.After deployment is complete, it takes few minutes for leader and member to start communication. Vernieuw de beheer site van het lid om de implementatie te controleren.To verify the deployment, refresh member's admin site. De status van de knoop punten van het lid moet worden uitgevoerd.Status of the member's nodes should be running.

De implementatie controleren

Volgende stappenNext steps

Zie Block Chain Technology and Applications(Engelstalig) voor meer informatie over Ethereum en Azure.To learn more about Ethereum and Azure, see Blockchain Technology and Applications.