Introduction
This article will focus on setting up a custom Ethereum Blockchain on Azure. The article will be less theory and will focus more on practical implementation of step by step setting up the Ethereum blockchain on Azure and transferring some Ethers between accounts using MetaMask. The article is for the readers who are more into development and have the background of Blockchain, Ethereum and Ether. We’ll cover theory in the next article of understanding Ethereum and Blockchain.

Blockchain
Following is the description from MSDN blogs
“At the most basic level of understanding, blockchains are a simple approach to a distributed database. A blockchain is a peer-to-peer system with no central authority managing data flow. One of the key ways to removing central control while maintaining data integrity is to have a large distributed network of independent users. You can think of blockchains as distributed databases that a group of individuals controls and that store and share information. The most popular form of a blockchain implementation out there is BitCoin which is a cryptocurrency.
A blockchain is a data structure that makes it possible to create a digital ledger of data and share it among a network of independent parties. There are three main categories of blockchains: Public, Private and Permission. Each type uses cryptography to allow each participant on any given network to manage the ledger in a secure way without the need for a central authority to enforce the rules. The removal of central authority from database structure is one of the most important and powerful aspects of blockchains.”
Ethereum
Ethereum is one of the largest and widely used blockchains based on the proposal from Vitalic Buterin in 2013. Ethereum was publicly made available in 2015. Ethereum is very easy to use with private blockchains and is an open source. Ethereum is not just limited to be a platform but also serves as a programming language that runs on blockchain, therefore helps to build and publish distributed applications on blockchain. Ethereum has a benefit of having very fast transaction times as compared to Bitcoin. For Bitcoins, transaction times are commonly in minutes, but using Ethereum, it could be made in seconds. So Ethereum could be used for the applications where a fast response is needed.

Ether
Ether is the crypto currency that Ethereum has and is very similar to Bitcoins. It could be used like any other crypto currency and serves as a base for transactions in Ethereum. It is traded under the ETH symbol. Ether is very volatile currency and worth considering for investment (that’s my opinion). Ether has around 12 denominations. The smallest denomination is WEI and 1 ETH is 1 quintillion WEI. Finney is also often used and 1 ETH is 1000 Finney. Another one is Szabo, and 1 ETH is 1 million Szabo. Denominations like Kether, Mether, Gether are used when denominations are larger. Kether is 1000 ETH i.e. kilo. Similarly, M is for mega and G is for Giga.
Azure
This article will focus on working with Ethereum on the Microsoft Azure platform. Azure is a cloud platform from Microsoft and could be used for other beneficial purposes as well. We’ll use consortium from Azure. A consortium in Ethereum’s context means a collaboration between supporting members of a blockchain with underlying infrastructure. Consortium helps us configure the block chain and its controlling parts on Azure. We create a Genesis block and a default account with initial Ether allocations. Setting up consortium here would be a private blockchain and would not be part pf public Ethereum blockchain that means Ethers from private blockchain could not be transferred or exchanged directly with Ether from public blockchains. Azure helps us to set up the baseline blockchain infrastructure by providing the templates. We’ll first set up a blockchain consortium on Azure and Azure will create a genesis block for us.
Azure Account Setup
If one does not have a paid Azure account, one could leverage Azure’s new account’s benefits of giving $200 credits. That means if you are new to Azure and wants to play around with its free trial, you’ll get $200 credits that you can use to explore Azure. If you are new to Azure and do not have an account, follow following process, else directly login to your portal.
- Open the Azure web site i.e. azure.moicrosoft.com

- Click on Start free to create your free Azure account and get $200 as credits.

Creating an account and claiming $200 would need your credit/debit card for verification purposes only and will not deduct any amount from your card. You can play around with this credit and account for 30 days. You’ll see the signup page, where you fill all your information and signup step by step. Once signed-up successfully, you’ll see the link to portal as shown below.

Click on the portal and you land up on the dashboard and are ready to use/play around with Azure.

Ethereum Account Setup on Azure
Once on dashboard, click on the big + button i.e. Create a resource to create a new resource. In the search box, type and enter Ethereum to get all the Ethereum related templates that we would need.
From the list of templates, select Ethereum Proof-of-Work Consortium. It is not certain that you see the exact templates as shown in this article. Since the development is always on for Azure, you may see different names of templates or different templates all together when you are following this implementation.

Once clicked on Ethereum Proof-of-Work Consortium, leave the deployment model as it is and press on Create button as shown in following image.

Once you click on create, you’ll see page where you need to fill certain details. Following are the step by step creation guidelines.
- For Step 1 i.e. Basics, provide the Resource prefix to keep the consortium items segregated from other existing resources on your Azure portal. For e.g. I have given it a name “eth”, you can have your own or else can use this as well.

Provide the VM user name of your choice as shown in above image. I have used athadmin, though I wanted to use ethadmin but it was a typo from me to use athadmin, but that hardly matters as we are developing to learn.
You can choose to have Authentication type as Password or SSH public key. For now, I am using Password, make sure you remember the password that you provide here. You can choose to have “Free Trial” as Subscription or your paid account if you have one. Create a resource group, by providing a name so that all your resources in context of this consortium lie in this resource group. All the items in the resource group share the same permissions, policies and life cycle. I have provided the name “etherium-blockchain” as resource group (again mistakenly misspelled Ethereum). Last, choose a location close to where your application will run. I have chosen ”Central India”. Click OK.
































Venkatesh MPosted Jul 31, 2019, 7:54 PM
The way of explaining is Awesome..
Thiri KyawPosted Sep 3, 2018, 8:25 AM
In azure ethereum POW, block numbers are always changed even though no transaction. Why?
Amit RaiPosted Jun 5, 2018, 2:38 AM
Great article...
Mahesh ChandPosted Jun 4, 2018, 11:56 AM
Nicely done, Akhil. Do you need my account also to send 1000 ETH :)
Mukesh ShahPosted Jun 4, 2018, 11:52 AM
Awesome article