Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Azure Blockchain Workbench Guide

DZone's Guide to

Azure Blockchain Workbench Guide

In this article, we cover how to get up and running with this development tools so you and your team can create blockchain applications.

· Security Zone ·
Free Resource

Discover how to provide active runtime protection for your web applications from known and unknown vulnerabilities including Remote Code Execution Attacks.

Introduction

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

These days we are constantly talking about blockchain, and many companies have started to use it to drive their business value, like how FedEx is using it to store shipping records and Porsche is launching a solution based on the Ethereum blockchain (a smart contract platform).

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 have started to work on cloud solutions like:

  • Oracle Blockchain Cloud Service which functions as a Platform-as-a-Service (PaaS); for more details, click here.
  • IBM and Stellar developed a banking system based on blockchain; this platform use the digital currency called Lumens (XLM).
  • Fujitsu joins the 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 launched the Azure Blockchain Workbench.

In this article, we will explain how we can adopt blockchain technologies and we will get started with Azure Workbench.

Azure Blockchain Definition

Windows Azure contains a collection of Azure services and capabilities that enable enterprises to create and deploy their applications into their Azure subscriptions and integrate them with the 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, to create decentralized applications which run on a blockchain that communicates and executes logic against a specific digital ledger network of a peer-to-peer group of nodes.

Create Azure Blockchain Workbench

To start with Blockchain Workbench, we choose the "Create a resource" tab. After that, we find the blockchain option at the bottom of the list; choose it and get the list of services that we can use for blockchain in Azure. You can find examples for Ethereum Studio and a Proof of Work Consortium.

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 shown below.

Blockchain

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 Machines (VMs).
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 part of a Workbench deployment.
Deployment region This is the region to where 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.

Blockchain

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

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

Blockchain

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


Blockchain

Then 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.

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

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

Blockchain

Blockchain

We need to enable access under the Application permissions, so we check Read all users' full profiles, as shown below.

Blockchain

We click on Select after clicking on the Done button.

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

Blockchain

What we've done so far should be displayed in Azure's 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 that, we need to get a tenant domain name, so we will select Custom domain names, as shown below.

Blockchain

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

Setting Description
Domain Name This the tenant name that we previously defined.
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.

Blockchain

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 we use 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.

Find out how Waratek’s award-winning application security platform can improve the security of your new and legacy applications and platforms with no false positives, code changes or slowing your application.

Topics:
blockchain and ethereum ,azure ,azure active directory

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}