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 platform 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
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 Workbench, we choose «Create a resource» after 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.
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.
Step 1 - Configure Basic Settings
We complete the basic settings as below:
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.
Settings | Description |
Resource prefix | A unique identifier used as a prefix to name all Azure resources provisioned for this template. |
VM username | It is used to define the administrator username for all provisioned Virtual Machine (VM). |
Authentication type | You 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 password | This password is used to protect the database included as a part Workbech deployment. |
Deployment region | This is the region that you prefer to deploy Blockchain Workbench resources. |
Subscription | You can choose any subscription you have and remember that the license is free and provisioning Azure storage and resources is what you pay for. |
Step 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.
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.
Setting | Description |
Name | Provide a Name for the application |
Application type | Web app / API |
Sign-on URL | Provide a Sign-on URL for the application |
And, we click on Create to register the Azure AD application.
We get this interface:
And we need to select Manifest to verify the Json configuration file.
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 these permissions for the API application:
Select Settings > Required permissions > Select an API > Microsoft Graph
We need to enable Access under Application permissions, so we check Read all users' full profiles as below:
We click on Select after clicking on the Done Button.
Then, we need to grant permissions to allow Blockchain Workbench to access users in the directory. So, we select Grant Permissions, then we confirm that.
So, Azure is our resume for this part, they are displayed in Azure notifications.
We need to add a Graph
API key to the application:
We need to copy the value of the key and store it for later because we need it for deployment.
Later, we need to get tenant domain name, so we will select Custom domain names as below:
We come back to Step 2 of the Azure Active Directory setup and we complete these values:
Setting | Description |
Domain Name | This is the tenant name that we define it previously |
Application ID | This is the Application ID from the Blockchain client app registration defined previously |
Application Key | This 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.
Step 4 - Azure Monitor
In this part, we can choose 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.
We click on Create to agree to the terms and to deploy the Azure Blockchain Workbench.
And the deployment starts:
This procedure can take up to 90 minutes.
In the next article, we demonstrate how we can deploy Azure Blockchain Workbench.