Dela via


Distribuera ett Ethereum-blockkedjenätverk på Azure Stack Hub

Ethereum-lösningsmallen är utformad för att göra det enklare och snabbare att distribuera och konfigurera ett Ethereum-blockkedjenätverk med flera medlemmar med minimala kunskaper om Azure och Ethereum.

Med en handfull användarindata och en distribution med ett klick via Azure Stack Hub-klientportalen kan varje medlem etablera sitt nätverksavtryck. Varje medlems nätverksavtryck består av tre saker:

  1. En uppsättning belastningsutjämningstransaktionsnoder som en app eller användare kan interagera med för att skicka transaktioner.
  2. En uppsättning gruvnoder för att registrera transaktioner.
  3. En virtuell nätverksinstallation (NVA).

Ett senare anslutningssteg ansluter nva:erna för att skapa ett fullständigt konfigurerat blockkedjenätverk med flera medlemmar.

Så här konfigurerar du:

  • Välj en distributionsarkitektur.
  • Distribuera ett fristående, konsortiumledar- eller konsortiummedlemsnätverk.

Förutsättningar

Ladda ned de senaste objekten från Marketplace:

  • Ubuntu Server 16.04 LTS
  • Windows Server 2016
  • Anpassat skript för Linux 2.0
  • Tillägg för anpassat skript för Windows

Distributionsarkitektur

Den här lösningsmallen kan distribuera ett Ethereum-konsortiumnätverk med en eller flera medlemmar. Det virtuella nätverket är anslutet i en kedjetopologi med hjälp av nätverksvirtuella enheter och anslutningsresurser.

Mallen kan distribuera Ethereum-konsortiet för ledare och medlem på flera olika sätt. Här är de som vi har testat:

  • På en Azure Stack Hub med flera noder, med Microsoft Entra-ID eller AD FS, distribuerar du lead och medlem med samma prenumeration eller med olika prenumerationer.
  • På en Azure Stack Hub med en nod (med Microsoft Entra-ID) distribuerar du lead och medlem med samma prenumeration.

Distribution av fristående ledare och konsortiumledare

Mallen för konsortiumledare konfigurerar den första medlemmens fotavtryck i nätverket.

  1. Ladda ned mallen leader från GitHub.

  2. I Azure Stack Hub-portalen väljer du + Skapa en resurs > Distribuering med mall för att distribuera från en anpassad mall.

  3. Välj Skapa en egen mall i redigeraren för att redigera den nya anpassade mallen.

  4. I redigeringsfönstret till höger kopierar och klistrar du in den JSON för ledarmallen som du laddade ned tidigare.

    Redigera mall med den ledande mallen infogad

  5. Välj Spara.

  6. Slutför följande inställningar på fliken Grundläggande.

    Parameternamn Beskrivning Exempelvärde
    Abonnemang Prenumerationen som konsortienätverket ska distribueras till. Förbrukningsprenumeration
    Resursgrupp Den resursgrupp som konsortienätverket ska distribueras till. EthereumResources
    Region Azure-regionen för resurser. lokal
    Namnprefix Sträng som används som bas för att namnge de distribuerade resurserna. Använd högst sex alfanumeriska tecken. Eth
    Autentiseringstyp Metoden för att autentisera till den virtuella datorn. Tillåtna värden är lösenord eller offentlig SSH-nyckel. Lösenord
    Administratörsanvändarnamn Administratörsanvändarnamn för varje distribuerad virtuell dator. Använd från ett till 64 tecken. gethadmin
    Administratörslösenord (Autentiseringstyp = Lösenord) Lösenordet för administratörskontot för var och en av de virtuella datorer som distribueras. Lösenordet måste innehålla minst 3 av följande krav: 1 versal bokstav, 1 gemen bokstav, 1 siffra och 1 specialtecken.
    Även om alla virtuella datorer ursprungligen har samma lösenord kan du ändra lösenordet efter etableringen. Använd mellan 12 och 72 tecken.
    Admin SSH-nyckel (autentiseringstyp = sshPublicKey) Den offentliga RSA-nyckelsträngen för det säkra gränssnittet som används för fjärrinloggning.
    Genesisblock JSON-sträng som representerar anpassat genesis-block. Det är valfritt att ange ett värde för den här parametern.
    Ethereum-kontolösenord Administratörslösenordet som används för att skydda Ethereum-kontot.
    Lösenfras för Ethereum-konto Lösenfrasen som används för att generera en privat nyckel som är associerad med Ethereum-kontot. Överväg ett lösenord med tillräcklig slumpmässighet för att säkerställa en stark privat nyckel.
    Ethereum-nätverks-ID Konsortiets nätverks-ID. Använd valfritt värde mellan 5 och 999 999 999. 72
    Medlems-ID för konsortiet Det ID som är associerat med varje medlem i konsortienätverket. Det här ID:t bör vara unikt i nätverket. 0
    Antal gruvnoder Antal gruvnoder för varje medlem i konsortiet. Använd ett värde mellan 2 och 15. 2
    Vm-storlek för gruvnod VM-storleken på gruvnoderna. Standard_A1
    Typ av gruvlagringskonto Lagringsprestanda för gruvnoderna. Standard_LRS
    Antal TX-noder Antal lastbalanserade transaktionsnoder. Använd ett värde mellan 1 och 5. 1
    Vm-storlek för TX-nod Vm-storleken på transaktionsnoderna. Standard_A1
    TX-lagringskontotyp Lagringsprestanda för transaktionsnoderna. Standard_LRS
    Bas-webbadress Bas-URL där du kan hämta distributionsmallarna. Använd standardvärdet om du inte vill anpassa distributionsmallarna.
  7. Välj Granska + skapa. När valideringen har slutförts väljer du Skapa.

Distributionen kan ta 20 minuter eller längre att slutföra.

När distributionen är klar läser du distributionssammanfattningen för Microsoft.Template i distributionsavsnittet i resursgruppen. Sammanfattningen innehåller utdatavärden som används för att ansluta till konsortiemedlemmar.

Om du vill verifiera ledarens distribution går du till ledarens administratörswebbplats. Administratörswebbplatsadressen finns i utdataavsnittet i distributionen Microsoft.Template.

Ledardistributionssammanfattning

Att ansluta sig till konsortiemedlemmarnas införande

  1. Ladda ned mallen -konsortiemedlem från GitHub.

  2. I Azure Stack Hub-klientportalen väljer du + Skapa en resurs > Mallimplementering för att distribuera från en anpassad mall.

  3. Välj Skapa en egen mall i redigeraren för att redigera den nya anpassade mallen.

  4. I redigeringsfönstret till höger kopierar och klistrar du in den JSON för konsortiemedlemsmallen som du laddade ned tidigare.

  5. Välj Spara.

  6. Slutför följande inställningar på fliken Grundläggande.

    Parameternamn Beskrivning Exempelvärde
    Abonnemang Prenumerationen som konsortienätverket ska distribueras till. Förbrukningsprenumeration
    Resursgrupp Den resursgrupp som konsortienätverket ska distribueras till. EthereumResources
    Region Azure-regionen för resurser. lokal
    Namnprefix Sträng som används som bas för att namnge de distribuerade resurserna. Använd högst sex alfanumeriska tecken. ETH
    Autentiseringstyp Metoden för att autentisera till den virtuella datorn. Tillåtna värden är Lösenord eller offentlig SSH-nyckel. Lösenord
    Administratörsanvändarnamn Administratörsanvändarnamn för varje distribuerad virtuell dator. Använd från ett till 64 tecken. gethadmin
    Administratörslösenord (Autentiseringstyp = Lösenord) Lösenordet för administratörskontot för var och en av de virtuella datorer som distribueras. Lösenordet måste innehålla 3 av följande krav: 1 versaler, 1 gemener, 1 tal och 1 specialtecken.
    Även om alla virtuella datorer ursprungligen har samma lösenord kan du ändra lösenordet efter etableringen. Använd mellan 12 och 72 tecken.
    Admin SSH-nyckel (autentiseringstyp = sshPublicKey) Den offentliga RSA-nyckelsträngen för det säkra gränssnittet som används för fjärrinloggning.
    Genesis block JSON-sträng som representerar anpassat genesis-block. Det är valfritt att ange ett värde för den här parametern.
    Ethereum-kontolösenord Administratörslösenordet som används för att skydda Ethereum-kontot.
    Lösenfras för Ethereum-konto Lösenfrasen som används för att generera en privat nyckel som är associerad med Ethereum-kontot. Överväg ett lösenord med tillräcklig slumpmässighet för att säkerställa en stark privat nyckel.
    Medlems-ID för konsortiet Det ID som är associerat med varje medlem i konsortienätverket. Det här ID:t bör vara unikt i nätverket. 0
    Antal gruvnoder Antal gruvnoder för varje medlem i konsortiet. Använd ett värde mellan 2 och 15. 2
    Vm-storlek för gruvnod VM-storleken på gruvnoderna. Standard_A1
    Typ av gruvlagringskonto Lagringsprestanda för gruvnoderna. Standard_LRS
    Antal TX-noder Antal lastbalanserade transaktionsnoder. Använd ett värde mellan 1 och 5. 1
    Vm-storlek för TX-nod Vm-storleken på transaktionsnoderna. Standard_A1
    TX-lagringskontotyp Lagringsprestanda för transaktionsnoderna. Standard_LRS
    Konsortiumdata URL:en som pekar på relevanta konfigurationsdata för konsortiet som tillhandahålls av en annan medlems distribution. Det här värdet finns i ledarens distributionsutdata.
    VNET-adressutrymme för fjärrmedlem VNET-adressutrymmet för ledaren. Det här värdet finns i ledarens distributionsutdata.
    Fjärrmedlems offentliga NVA IP-adress Ledarens NVA IP-adress. Det här värdet finns i ledarens distributionsutdata.
    Delad nyckel för anslutning En fördefinierad hemlighet mellan medlemmarna i konsortienätverket som upprättar en gatewayanslutning.
    Bas-webbadress Bas-URL där du kan hämta distributionsmallarna. Använd standardvärdet om du inte vill anpassa distributionsmallarna.
  7. Välj Granska och skapa. När valideringen har slutförts väljer du Skapa.

Distributionen kan ta 20 minuter eller längre att slutföra.

När distributionen är klar läser du distributionssammanfattningen för Microsoft.Template i distributionsavsnittet i resursgruppen. Sammanfattningen innehåller utdatavärden som används för att ansluta medlemmar i konsortiet.

Om du vill verifiera medlemmens distribution bläddrar du till medlemmens administratörswebbplats. Du hittar administratörswebbplatsadressen i utdataavsnittet i distributionen Microsoft.Template.

Sammanfattning av medlemsdistribution

Som du ser i bilden är medlemmens nodstatus Körs inte. Den här statusen beror på att anslutningen mellan medlem och ledare inte har upprättats. Anslutningen mellan medlem och ledare är en dubbelriktad anslutning. När du distribuerar medlem skapar mallen automatiskt anslutningen från medlem till ledare. Om du vill skapa anslutningen från ledare till medlem går du till nästa steg.

Anslut medlem och ledare

Den här mallen skapar en anslutning från ledaren till en fjärrmedlem.

  1. Ladda ner mallen för anslutna medlemmar och ledare från GitHub.

  2. I Azure Stack Hub-klientportalen väljer du + Skapa en resurs > för malldistribution för att distribuera från en anpassad mall.

  3. Välj Skapa en egen mall i redigeraren för att redigera den nya anpassade mallen.

  4. I redigeringsfönstret till höger kopierar och klistrar du in den JSON för konsortiemedlemsmallen som du laddade ned tidigare.

  5. Välj Spara.

  6. Slutför följande inställningar.

    Parameternamn Beskrivning Exempelvärde
    Abonnemang Prenumerationen som konsortienätverket ska distribueras till. Förbrukningsprenumeration
    Resursgrupp Den resursgrupp som konsortienätverket ska distribueras till. EthereumResources
    Region Azure-regionen för resurser. lokal
    Prefix för medlemsnamn Sträng som används som bas för att namnge de distribuerade resurserna. Använd högst sex alfanumeriska tecken. eth
    Namn på medlemsvägstabell Namnet på ledarens routningstabell. Det här värdet finns i ledarens distributionsutdata.
    VNET-adressutrymme för fjärrmedlem Adressutrymme för medlemmen. Det här värdet finns i medlemmens distributionsutdata.
    Offentlig IP-adress för fjärrmedlems-NVA DEN NVA IP-adress som ska anslutas till. Det här värdet finns i medlemmens distributionsutdata.
    Delad nyckel för anslutning En fördefinierad hemlighet mellan medlemmarna i konsortienätverket som upprättar en anslutning.
    Privat IP-adress för medlems-NVA Medlemmens NVA IP-adress. Det här värdet finns i medlemmens distributionsutdata.
    Grund-URL-adress Bas-URL där du kan hämta distributionsmallarna. Använd standardvärdet om du inte vill anpassa distributionsmallarna.
  7. Välj Granska + skapa. När valideringen har slutförts väljer du Skapa.

När distributionen är klar tar det några minuter för ledare och medlem att starta kommunikationen. Kontrollera distributionen genom att uppdatera medlemmens administratörswebbplats. Status på medlemmens noder bör vara i drift.

Verifiera utplaceringen

Nästa steg

Mer information om Ethereum och Azure finns i Blockchain Technology and Applications.