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 konsortium för flera medlemmar Ethereum-blockkedjenätverk med minimal kunskap om Azure och Ethereum.
Med ett fåtal användarindata och en distribution med ett klick via Azure Stack Hub-klientportalen kan varje medlem etablera sitt nätverksfotavtryck. Varje medlems nätverksfotavtryck består av tre saker:
- En uppsättning belastningsutjämningstransaktionsnoder som en app eller användare kan interagera med för att skicka transaktioner.
- En uppsättning gruvnoder för att registrera transaktioner.
- 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
- Anpassat skripttillägg 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 den virtuella nätverksinstallationen och anslutningsresurser.
Mallen kan distribuera Ethereum Consortium för ledare och medlemmar på flera olika sätt. Här är de 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
Konsortiumledarmallen konfigurerar den första medlemmens fotavtryck i nätverket.
Ladda ned ledarmallen från GitHub.
I Azure Stack Hub-klientportalen väljer du + Skapa en resursmalldistribution > som ska distribueras från en anpassad mall.
Välj Skapa en egen mall i redigeraren för att redigera den nya anpassade mallen.
I redigeringsfönstret till höger kopierar och klistrar du in den JSON för ledarmallen som du tidigare laddade ned.
Välj Spara.
Slutför följande inställningar på fliken Grundläggande inställningar.
Parameternamn Beskrivning Exempelvärde Prenumeration Den prenumeration som konsortienätverket ska distribueras till. Förbrukningsprenumeration Resursgrupp Den resursgrupp som konsortiumnätverket ska distribueras till. EthereumResources Region Azure-regionen för resurser. lokalt 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 Användarnamn för administratör Admin användarnamn för varje distribuerad virtuell dator. Använd mellan ett och 64 tecken. gethadmin Admin lö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 versal, 1 gemen, 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 secure shell 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. Ethereum-nätverks-ID Konsortiets nätverks-ID. Använd valfritt värde mellan 5 och 999 999 999. 72 Medlems-ID för konsortium Det ID som är associerat med varje medlem i konsortienätverket. Detta ID bör vara unikt i nätverket. 0 Antal gruvnoder Antal gruvnoder för varje konsortiummedlem. Använd ett värde mellan 2 och 15. 2 Vm-storlek för gruvnod VM-storleken för gruvnoderna. Standard_A1 Typ av gruvlagringskonto Lagringsprestanda för gruvnoderna. Standard_LRS Antal TX-noder Antal belastningsutjämningstransaktionsnoder. 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 Grundläggande URL Bas-URL där du hämtar distributionsmallarna. Använd standardvärdet om du inte vill anpassa distributionsmallarna. Välj Granska + skapa. När valideringen är klar 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 medlemmar i konsortiet.
Om du vill verifiera ledarens distribution går du till ledarens administratörswebbplats. Administratörswebbplatsadressen finns i utdataavsnittet i distributionen av Microsoft.Template .
Ansluta till distribution av konsortiummedlem
Ladda ned medlemsmallen för konsortiet från GitHub.
I Azure Stack Hub-klientportalen väljer du + Skapa en resursmalldistribution > som ska distribueras från en anpassad mall.
Välj Skapa en egen mall i redigeraren för att redigera den nya anpassade mallen.
I redigeringsfönstret till höger kopierar och klistrar du in den JSON för konsortiemedlemsmallen som du tidigare laddade ned.
Välj Spara.
Slutför följande inställningar på fliken Grundläggande inställningar.
Parameternamn Beskrivning Exempelvärde Prenumeration Den prenumeration som konsortienätverket ska distribueras till. Förbrukningsprenumeration Resursgrupp Den resursgrupp som konsortiumnätverket ska distribueras till. EthereumResources Region Azure-regionen för resurser. lokalt 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 Användarnamn för administratör Admin användarnamn för varje distribuerad virtuell dator. Använd mellan ett och 64 tecken. gethadmin Admin lö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 versal, 1 gemen, 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 secure shell 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 konsortium Det ID som är associerat med varje medlem i konsortienätverket. Detta ID bör vara unikt i nätverket. 0 Antal gruvnoder Antal gruvnoder för varje konsortiummedlem. Använd ett värde mellan 2 och 15. 2 Vm-storlek för gruvnod VM-storleken för gruvnoderna. Standard_A1 Typ av gruvlagringskonto Lagringsprestanda för gruvnoderna. Standard_LRS Antal TX-noder Antal belastningsutjämningstransaktionsnoder. 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 konsortiumkonfigurationsdata 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. Offentlig IP-adress för fjärrmedlems-NVA 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 konsortiumnätverket som upprättar en gatewayanslutning. Grundläggande URL Bas-URL där du hämtar distributionsmallarna. Använd standardvärdet om du inte vill anpassa distributionsmallarna. Välj Granska + skapa. När valideringen är klar 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 konsortiummedlemmar.
Om du vill verifiera medlemmens distribution bläddrar du till medlemmens administratörswebbplats. Du hittar administratörswebbplatsadressen i utdataavsnittet i distributionen av Microsoft.Template .
Som du ser i bilden körs inte medlemmens nodstatus. 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 en 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.
I Azure Stack Hub-klientportalen väljer du + Skapa en resursmalldistribution > som ska distribueras från en anpassad mall.
Välj Skapa en egen mall i redigeraren för att redigera den nya anpassade mallen.
I redigeringsfönstret till höger kopierar och klistrar du in den JSON för konsortiemedlemsmallen som du tidigare laddade ned.
Välj Spara.
Slutför följande inställningar.
Parameternamn Beskrivning Exempelvärde Prenumeration Den prenumeration som konsortienätverket ska distribueras till. Förbrukningsprenumeration Resursgrupp Den resursgrupp som konsortiumnätverket ska distribueras till. EthereumResources Region Azure-regionen för resurser. lokalt 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 du vill ansluta 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 NVA-IP-adressen för medlemmen. Det här värdet finns i medlemmens distributionsutdata. Grundläggande URL Bas-URL där du hämtar distributionsmallarna. Använd standardvärdet om du inte vill anpassa distributionsmallarna. Välj Granska + skapa. När valideringen är klar väljer du Skapa.
När distributionen är klar tar det några minuter för ledare och medlem att starta kommunikationen. Om du vill verifiera distributionen uppdaterar du medlemmens administratörswebbplats. Status för medlemmens noder bör köras.
Nästa steg
Mer information om Ethereum och Azure finns i Blockchain Technology and Applications (Blockkedjeteknik och -program).