Delen via


Een Ethereum-blockchainnetwerk implementeren in Azure Stack Hub

De Ethereum-oplossingssjabloon is ontworpen om het eenvoudiger en sneller te maken om een Ethereum-blockchainnetwerk van een consortium met meerdere leden te implementeren en te configureren met minimale kennis van Azure en Ethereum.

Met een handvol gebruikersinvoer en een implementatie met één klik via de Azure Stack Hub-tenantportal kan elk lid zijn netwerkvoetafdruk inrichten. De netwerkvoetafdruk van elk lid bestaat uit drie dingen:

  1. Een set transactieknooppunten met gelijke taakverdeling waarmee een app of gebruiker transacties kan verzenden.
  2. Een set mining-knooppunten om transacties vast te leggen.
  3. Een virtueel netwerkapparaat (NVA).

Een latere verbindingsstap verbindt de NVA's om een volledig geconfigureerd blockchainnetwerk met meerdere leden te maken.

Instellen:

  • Kies een implementatiearchitectuur.
  • Implementeer een zelfstandig, consortiumleider of consortiumlidnetwerk.

Vereisten

Download de nieuwste items van marketplace:

  • Ubuntu Server 16.04 LTS
  • Windows Server 2016
  • Aangepast script voor Linux 2.0
  • Aangepaste scriptextensie voor Windows

Implementatiearchitectuur

Met deze oplossingssjabloon kan een Ethereum-consortiumnetwerk met één of meerdere leden worden geïmplementeerd. Het virtuele netwerk is verbonden in een ketentopologie met behulp van virtueel netwerkapparaat en verbindingsresources.

Met de sjabloon kan ethereum-consortium op verschillende manieren worden geïmplementeerd voor leider en lid. Dit zijn de opties die we hebben getest:

  • Op een Azure Stack Hub met meerdere knooppunten, met Microsoft Entra-id of AD FS, implementeert u lead en lid met hetzelfde abonnement of met verschillende abonnementen.
  • Implementeer lead en lid op een Azure Stack Hub met één knooppunt (met Microsoft Entra-id) met hetzelfde abonnement.

Zelfstandige implementatie en consortiumleiderimplementatie

De consortiumleidersjabloon configureert de footprint van het eerste lid in het netwerk.

  1. Download de leader-sjabloon van GitHub.

  2. Selecteer in de Azure Stack Hub-tenantportal de optie + Een resourcesjabloonimplementatie > maken om te implementeren op basis van een aangepaste sjabloon.

  3. Selecteer Uw eigen sjabloon maken in de editor om de nieuwe aangepaste sjabloon te bewerken.

  4. Kopieer en plak in het bewerkingsvenster aan de rechterkant de JSON van de leader-sjabloon die u eerder hebt gedownload.

    Sjabloon bewerken waarbij de leader-sjabloon is geplakt

  5. Selecteer Opslaan.

  6. Voer op het tabblad Basisinformatie de volgende instellingen in.

    Parameternaam Beschrijving Voorbeeldwaarde
    Abonnement Het abonnement waarop het consortiumnetwerk moet worden geïmplementeerd. Verbruiksabonnement
    Resourcegroep De resourcegroep waarin het consortiumnetwerk moet worden geïmplementeerd. EthereumResources
    Region De Azure-regio voor resources. lokaal
    Naamvoorvoegsel Tekenreeks die wordt gebruikt als basis voor het benoemen van de geïmplementeerde resources. Gebruik maximaal zes alfanumerieke tekens. Eth
    Verificatietype De methode voor verificatie bij de VM. Toegestane waarden zijn wachtwoord of openbare SSH-sleutel. Wachtwoord
    Gebruikersnaam van beheerder Beheer gebruikersnaam van elke geïmplementeerde VM. Gebruik één tot 64 tekens. gethadmin
    Beheer wachtwoord (verificatietype = wachtwoord) Het wachtwoord voor het beheerdersaccount voor elk van de geïmplementeerde VM's. Het wachtwoord moet drie van de volgende vereisten bevatten: 1 hoofdletter, 1 kleine letter, 1 cijfer en 1 speciaal teken.
    Hoewel alle VM's in eerste instantie hetzelfde wachtwoord hebben, kunt u het wachtwoord wijzigen na het inrichten. Gebruik 12 tot 72 tekens.
    Beheer SSH-sleutel (verificatietype = sshPublicKey) De tekenreeks voor de openbare RSA-sleutel van secure shell die wordt gebruikt voor externe aanmelding.
    Genesis blok JSON-tekenreeks die het aangepaste genesisblok vertegenwoordigt. Het opgeven van een waarde voor deze parameter is optioneel.
    Ethereum-accountwachtwoord Het beheerderswachtwoord dat wordt gebruikt om het Ethereum-account te beveiligen.
    Wachtwoordzin voor Ethereum-account De wachtwoordzin die wordt gebruikt voor het genereren van een persoonlijke sleutel die is gekoppeld aan het Ethereum-account. Overweeg een wachtwoord met voldoende willekeurigheid om een sterke persoonlijke sleutel te garanderen.
    Ethereum-netwerk-id De netwerk-id van het consortium. Gebruik een waarde tussen 5 en 999.999.999. 72
    Consortiumlid-id De id die is gekoppeld aan elk lid van het consortiumnetwerk. Deze id moet uniek zijn in het netwerk. 0
    Nummeranalyseknooppunten Aantal mining-knooppunten voor elk consortiumlid. Gebruik een waarde tussen 2 en 15. 2
    Vm-grootte van miningknooppunt VM-grootte van de mining-knooppunten. Standard_A1
    Type opslagaccount voor mining Opslagprestaties van de mining-knooppunten. Standard_LRS
    Aantal TX-knooppunten Aantal transactieknooppunten met gelijke taakverdeling. Gebruik een waarde tussen 1 en 5. 1
    VM-grootte van TX-knooppunt VM-grootte van de transactieknooppunten. Standard_A1
    Type TX-opslagaccount Opslagprestaties van de transactieknooppunten. Standard_LRS
    Basis-URL Basis-URL waar u de implementatiesjablonen kunt ophalen. Gebruik de standaardwaarde, tenzij u de implementatiesjablonen wilt aanpassen.
  7. Selecteer Controleren + maken. Nadat de validatie is geslaagd, selecteert u Maken.

De implementatie kan 20 minuten of langer duren.

Nadat de implementatie is voltooid, bekijkt u het implementatieoverzicht voor Microsoft.Template in de implementatiesectie van de resourcegroep. De samenvatting bevat uitvoerwaarden die worden gebruikt om leden van het consortium samen te voegen.

Als u de implementatie van de leider wilt controleren, gaat u naar de beheersite van de leider. Het adres van de beheerderssite vindt u in de uitvoersectie van de Microsoft.Template-implementatie .

Overzicht van leaderimplementatie

Deelnemen aan de implementatie van consortiumleden

  1. Download de sjabloon voor consortiumleden van GitHub.

  2. Selecteer in de Azure Stack Hub-tenantportal de optie + Een resourcesjabloonimplementatie > maken om te implementeren op basis van een aangepaste sjabloon.

  3. Selecteer Uw eigen sjabloon maken in de editor om de nieuwe aangepaste sjabloon te bewerken.

  4. Kopieer en plak in het bewerkingsvenster aan de rechterkant de JSON van de consortiumlidsjabloon die u eerder hebt gedownload.

  5. Selecteer Opslaan.

  6. Voer op het tabblad Basisinformatie de volgende instellingen in.

    Parameternaam Beschrijving Voorbeeldwaarde
    Abonnement Het abonnement waarvoor het consortiumnetwerk moet worden geïmplementeerd. Verbruiksabonnement
    Resourcegroep De resourcegroep waarin het consortiumnetwerk moet worden geïmplementeerd. EthereumResources
    Region De Azure-regio voor resources. lokaal
    Naamvoorvoegsel Tekenreeks die wordt gebruikt als basis voor het benoemen van de geïmplementeerde resources. Gebruik maximaal zes alfanumerieke tekens. Eth
    Verificatietype De methode voor verificatie bij de VM. Toegestane waarden zijn Wachtwoord of openbare SSH-sleutel. Wachtwoord
    Gebruikersnaam van beheerder Beheer gebruikersnaam van elke geïmplementeerde VM. Gebruik één tot 64 tekens. gethadmin
    Beheer wachtwoord (verificatietype = wachtwoord) Het wachtwoord voor het beheerdersaccount voor elk van de geïmplementeerde VM's. Het wachtwoord moet 3 van de volgende vereisten bevatten: 1 hoofdletter, 1 kleine letter, 1 cijfer en 1 speciaal teken.
    Hoewel alle VM's in eerste instantie hetzelfde wachtwoord hebben, kunt u het wachtwoord wijzigen na het inrichten. Gebruik 12 tot 72 tekens.
    Beheer SSH-sleutel (verificatietype = sshPublicKey) De tekenreeks voor de openbare rsa-sleutel van secure shell die wordt gebruikt voor externe aanmelding.
    Genesisblok JSON-tekenreeks die het aangepaste genesis-blok vertegenwoordigt. Het opgeven van een waarde voor deze parameter is optioneel.
    Ethereum-accountwachtwoord Het beheerderswachtwoord dat wordt gebruikt om het Ethereum-account te beveiligen.
    Wachtwoordzin voor Ethereum-account De wachtwoordzin die wordt gebruikt voor het genereren van een persoonlijke sleutel die is gekoppeld aan het Ethereum-account. Overweeg een wachtwoord met voldoende willekeurigheid om een sterke persoonlijke sleutel te garanderen.
    Consortiumlid-id De id die is gekoppeld aan elk lid van het consortiumnetwerk. Deze id moet uniek zijn in het netwerk. 0
    Aantal mining-knooppunten Het aantal mining-knooppunten voor elk consortiumlid. Gebruik een waarde tussen 2 en 15. 2
    Vm-grootte van knooppuntanalyse VM-grootte van de mining-knooppunten. Standard_A1
    Type mining-opslagaccount Opslagprestaties van de mining-knooppunten. Standard_LRS
    Aantal TX-knooppunten Aantal transactieknooppunten met gelijke taakverdeling. Gebruik een waarde tussen 1 en 5. 1
    GROOTTE VAN TX-knooppunt-VM VM-grootte van de transactieknooppunten. Standard_A1
    Tx-opslagaccounttype Opslagprestaties van de transactieknooppunten. Standard_LRS
    Consortiumgegevens De URL die verwijst naar de relevante consortiumconfiguratiegegevens die worden geleverd door de implementatie van een ander lid. Deze waarde vindt u in de implementatie-uitvoer van de leider.
    VNET-adresruimte voor extern lid De VNET-adresruimte van de leider. Deze waarde vindt u in de implementatie-uitvoer van de leider.
    Openbaar NVA-IP-adres van extern lid Het NVA IP-adres van de leider. Deze waarde vindt u in de implementatie-uitvoer van de leider.
    Gedeelde sleutel voor verbinding Een vooraf ingesteld geheim tussen de leden van het consortiumnetwerk die een gatewayverbinding tot stand brengen.
    Basis-URL Basis-URL waar u de implementatiesjablonen kunt ophalen. Gebruik de standaardwaarde, tenzij u de implementatiesjablonen wilt aanpassen.
  7. Selecteer Controleren + maken. Nadat de validatie is geslaagd, selecteert u Maken.

De implementatie kan 20 minuten of langer duren.

Nadat de implementatie is voltooid, bekijkt u het implementatieoverzicht voor Microsoft.Template in de implementatiesectie van de resourcegroep. De samenvatting bevat uitvoerwaarden die worden gebruikt om consortiumleden te verbinden.

Als u de implementatie van het lid wilt controleren, bladert u naar de beheerderssite van het lid. U vindt het adres van de beheerderssite in de uitvoersectie van de Microsoft.Template-implementatie .

Samenvatting van ledenimplementatie

Zoals in de afbeelding wordt weergegeven, is de status van de knooppunten van het lid Niet actief. Deze status is omdat de verbinding tussen lid en leider niet tot stand is gebracht. De verbinding tussen lid en leider is een tweerichtingsverbinding. Wanneer u lid implementeert, maakt sjabloon automatisch de verbinding van lid naar de leider. Als u de verbinding van leider naar lid wilt maken, gaat u naar de volgende stap.

Lid en leider verbinden

Met deze sjabloon maakt u een verbinding tussen de leider en een extern lid.

  1. Download de sjabloon connect member and leader van GitHub.

  2. Selecteer in de Azure Stack Hub-tenantportal de optie + Een resourcesjabloonimplementatie > maken om te implementeren op basis van een aangepaste sjabloon.

  3. Selecteer Uw eigen sjabloon maken in de editor om de nieuwe aangepaste sjabloon te bewerken.

  4. Kopieer en plak in het bewerkingsvenster aan de rechterkant de JSON van de consortiumlidsjabloon die u eerder hebt gedownload.

  5. Selecteer Opslaan.

  6. Voer de volgende instellingen in.

    Parameternaam Beschrijving Voorbeeldwaarde
    Abonnement Het abonnement waarvoor het consortiumnetwerk moet worden geïmplementeerd. Verbruiksabonnement
    Resourcegroep De resourcegroep waarin het consortiumnetwerk moet worden geïmplementeerd. EthereumResources
    Region De Azure-regio voor resources. lokaal
    Voorvoegsel van lidnaam Tekenreeks die wordt gebruikt als basis voor het benoemen van de geïmplementeerde resources. Gebruik maximaal zes alfanumerieke tekens. Eth
    Naam van routetabel lid Naam van de routetabel van de leider. Deze waarde vindt u in de implementatie-uitvoer van de leider.
    VNET-adresruimte voor extern lid Adresruimte van het lid. Deze waarde vindt u in de implementatie-uitvoer van het lid.
    Openbaar NVA-IP-adres van extern lid Het NVA-IP-adres waarmee u verbinding wilt maken. Deze waarde vindt u in de implementatie-uitvoer van het lid.
    Gedeelde sleutel voor verbinding Een vooraf ingesteld geheim tussen de leden van het consortiumnetwerk die een verbinding tot stand brengen.
    Privé-IP-adres van NVA-lid Het NVA IP-adres van het lid. Deze waarde vindt u in de implementatie-uitvoer van het lid.
    Basis-URL Basis-URL waar u de implementatiesjablonen kunt ophalen. Gebruik de standaardwaarde, tenzij u de implementatiesjablonen wilt aanpassen.
  7. Selecteer Controleren + maken. Nadat de validatie is geslaagd, selecteert u Maken.

Nadat de implementatie is voltooid, duurt het enkele minuten voordat de leider en het lid de communicatie starten. Als u de implementatie wilt controleren, vernieuwt u de beheersite van het lid. De status van de knooppunten van het lid moet actief zijn.

De implementatie controleren

Volgende stappen

Zie Blockchain-technologie en -toepassingen voor meer informatie over Ethereum en Azure.