Azure Blockchain Workbench Guide

By definition from Wikipedia, A blockchain is a continuously growing list of records. Technically it’s a distributed database.

Introduction

From the Wikipedia definition, a blockchain is a continuously growing list of records. Technically, it’s a distributed database.

These days we are talking about blockchain, and many companies have started to use it to drive their business value like FedEx to store shipping records and Porshe by launching a solution called Ethereum (a smart contract platform) based on Blockchain.

For more details, click here.

Oliver Döring, Financial Strategist at Porsche said:  “We can use blockchain to transfer data more quickly and securely, giving our customers more peace of mind in the future, whether they are charging, parking or need to give a third party, such as a parcel delivery agent, temporary access to the vehicle,”

Others started to work on cloud solutions like:

  • Oracle Blockchain Cloud Service that is a platform-as-a-service (PaaS), for more details click here.
  • IBM with Stellar, they developed a banking system based on Blockchain, this plateform will be using Lumens (XLM).
  • Fujitsu introduced IOTA Foundation; IOTA is a “decentralized open source distributed ledger that runs on a directed acyclic graph, or DAG, protocol called the Tangle.” (ref click here).
  • Microsoft with Azure Blockchain Workbench.

In this article, we will explain how we can adopt Blockchain technologies and we will get started with the workbench.

Azure Blockchain definition

Windows Azure contains a collection of Azure services and capabilities that enable the enterprises to create and deploy their applications into their Azure subscriptions and integrate them with blockchain available on the Azure Marketplace. These applications can share their business processes and data with other semi-trusted organizations.

See more by clicking here.

Blockchain Architecture

Blockchain

Source: click here.

Azure Blockchain Workbench

It’s a free, easy-to-use tool with a simple interface, decentralized applications which run on a blockchain that communicates and executes a way of logic against a specific digital ledgers network of  a peer-to-peer group of nodes.

Create Azure Blockchain Workbench

To start with Blockchain Workbech we choose «Create a resource» after the we find in the bottom of the list Blockchain, we choose it and we get the list of services that we can use for Blockchain in Azure, we find for example Ethereum Studio and a Proof of Work Consortium.

We choose Azure blockchain Workbench.

Blockchain

We get this interface that describes the six steps to enable the provisioning of Azure Blockchain Workbench. We start by establishing configuration parameters and we finish by addressing the network and monitoring.

Blockchain

Step 1 - Configure basic settings

We complete the basic settings as below.

Blockchain
 
SettingsDescription
Resource prefixA unique identifier used as a prefix to name all Azure resources provisioned for this template.
VM usernameIt is used to define the administrator username for all provisioned Virtual Machine (VM).
Authentication typeYou can choose between a password or use SSH. (https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ssh-from-windows)
Database password / Confirm database passwordThis password is used to protect the database included as a part Workbech deployment.
Deployment regionThis is the region that you prefer to deploy Blockchain Workbecnh resources.
SubscriptionYou can choose any subscription you have and remember that the license is free and provisionning Azure storage and resources is what you pay for.

Steo 2 - Azure Active Directory setup

This step requires that you have a Blockchain client app Azure AD because you need to enter the registration ID and the key.

Blockchain

If we didn’t register the Blockchain Workbench API app yet, we can follow these steps before going through the next step.
 

In the left of the navigation pane, you select the Azure Active Directory service. After you choose App registrations > New application registration.

Blockchain
 
SettingDescription
NameProvide a Name for the application
Application typeWeb app / API
Sign-on URLProvide a Sign-on URL for the application

Blockchain

And, we click on Create to register the Azure AD application.

We get this interface,

Blockchain

And we need to select Manifest to verify the Json configuration file.

Blockchain

The «appRoles» is empty and we have to be an Administrator to identify after the Blockchain Workbench administrators.

The API application requires requesting permission from the user to access the directory. In the next figure, we will set theses permissions for the API application:

Select Settings > Required permissions > Select an API > Microsoft Graph

Blockchain

Blockchain

We need to enable Access under Application permissions, so we check Read all users' full profiles as bellow,

Blockchain

We Click on Select after clicking on the Done Button.

After, we need to grand permissions to allow Blockchain Workbench to access users in the directory. So, we select Grant Permissions then we confirm that.

Blockchain

So, Azure is our resume for this part, they are displayed in Azure notifications.

Blockchain

We need to add a Graph API key to the application,

Blockchain

We need to copy the value of the key and store it for later because we need it for deployment.

After, we need to get tenant domain name, so we will select Custom domain names as below.

Blockchain

We come back to Step 2 of the Azure Active Directory setup and we complete these values:

SettingDescription
Domain NameThis the tenant name that we define it previously
Application IDThis is the Application ID from the Blockchain client app registration defined previously
Application KeyThis is the value of the key that we copied previously.

Note that only users that are specified in the Azure AD are able to authenticate and use the deployed resources.

Step 3 - Network size and performance

In this part, we specify the number of nodes in the provisioning Blockchain ledgers even the size allowed to the VMs.

Blockchain

Step 4 - Azure Monitor

In this part, we can choose to whether or not to enable Azure Monitor to monitor your blockchain network in the monitoring part, and we can choose using an existing Log Analytics instance or we will create a new one. If using an existing instance, we need to identify the workspace ID and primary key.

Steps 5 and 6 - Summary and Buy (Cost)

These steps are presenting the summary of all provisioning and in the end it defines the cost according to what we choose.

Blockchain

We click on Create to agree to the terms and to deploy the Azure Blockchain Workbench.

And the deployment starts,

Blockchain

This procedure can take up to 90 minutes

In the next article, we demonstrate how we can deploy Azure Blockchain Workbench.