Blockchain - Ethereum Private Consortium Network

Last updated: 20/09/2016

This template fully automates the provisioning of necessary Azure resources like VMs, storage, network settings etc. as well as the configuration of Go Ethereum (geth) and accounts. It also stands up an administration website to monitor the nodes in the network and provide ether to new accounts. To deploy on Azure Government, go to the Azure quick start repository via the Browse on GitHub button.

This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service, and are made available AS IS without warranty of any kind.

Parameters

Parameter Name Description
namePrefix String used as a base for naming resources (6 alphanumeric characters or less). A unique hash is prepended to the string for some resources, while resource-specific information is appended.
adminUsername Administrator username of each deployed VM (alphanumeric characters only)
adminPassword Administrator password for each deployed VM
ethereumAccountPsswd Password used to secure the default Ethereum account that will be generated
ethereumAccountPassphrase Password used to generate the private key associated with the default Ethereum account that is generated. Consider a password with sufficient randomness to ensure a strong private key
ethereumNetworkID Private Ethereum network ID to which to connect (max 9 digit number)
numConsortiumMembers Number of members within the network. Each member's nodes live in their own subnet.
numMiningNodesPerMember Number of mining nodes to create for each consortium member.
mnNodeVMSize Size of the virtual machine used for mining nodes
numTXNodes Number of load balanced transaction nodes
txNodeVMSize Size of the virtual machine for transaction nodes
genesisBlock Genesis Block for the network

Use the template

PowerShell

New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/ethereum-consortium-blockchain-network/azuredeploy.json
Installing and configuring Azure PowerShell

Command line

azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/ethereum-consortium-blockchain-network/azuredeploy.json
Installing and configuring the Azure cross-platform command-line interface