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:
- Een set transactieknooppunten met gelijke taakverdeling waarmee een app of gebruiker transacties kan verzenden.
- Een set mining-knooppunten om transacties vast te leggen.
- 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.
Download de leader-sjabloon van GitHub.
Selecteer in de Azure Stack Hub-tenantportal de optie + Een resourcesjabloonimplementatie > maken om te implementeren op basis van een aangepaste sjabloon.
Selecteer Uw eigen sjabloon maken in de editor om de nieuwe aangepaste sjabloon te bewerken.
Kopieer en plak in het bewerkingsvenster aan de rechterkant de JSON van de leader-sjabloon die u eerder hebt gedownload.
Selecteer Opslaan.
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. 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 .
Deelnemen aan de implementatie van consortiumleden
Download de sjabloon voor consortiumleden van GitHub.
Selecteer in de Azure Stack Hub-tenantportal de optie + Een resourcesjabloonimplementatie > maken om te implementeren op basis van een aangepaste sjabloon.
Selecteer Uw eigen sjabloon maken in de editor om de nieuwe aangepaste sjabloon te bewerken.
Kopieer en plak in het bewerkingsvenster aan de rechterkant de JSON van de consortiumlidsjabloon die u eerder hebt gedownload.
Selecteer Opslaan.
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. 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 .
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.
Download de sjabloon connect member and leader van GitHub.
Selecteer in de Azure Stack Hub-tenantportal de optie + Een resourcesjabloonimplementatie > maken om te implementeren op basis van een aangepaste sjabloon.
Selecteer Uw eigen sjabloon maken in de editor om de nieuwe aangepaste sjabloon te bewerken.
Kopieer en plak in het bewerkingsvenster aan de rechterkant de JSON van de consortiumlidsjabloon die u eerder hebt gedownload.
Selecteer Opslaan.
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. 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.
Volgende stappen
Zie Blockchain-technologie en -toepassingen voor meer informatie over Ethereum en Azure.