Decentralized applications development for .NET developers using Microsoft Visual Studio

Decentralized applications development for .NET developers using Microsoft Visual Studio

logo
Updated on: May 13th, 2020 2020-05-13 19:25:02
This content has been Fact-Checked.
Recently blockchain technology drew my attention. Once I started reading about it, I saw a great potential for blockchain decentralized architecture, and it's capabilities for simplifying a variety of

Recently blockchain technology drew my attention. Once I started reading about it, I saw a great potential for blockchain decentralized architecture, and it’s capabilities for simplifying a variety of existing cumbersome processes requiring any form of a “contract.”

As a.NET Developer, I mostly worked with architectures where data was provided by some central source so decentralized concept of blockchain was completely new to me. I quickly saw how it could provide more reliability, integrity, and transparency. I started looking for information that would allow me to start developing decentralized applications with familiar operating system and tools:  Windows and Visual Studio.

In the beginning, I had tons of questions about Ethereum blockchain, smart contracts, and decentralized applications.

  • Where is all the information stored?
  • Where is smart contract getting deployed to?
  • Where is Dapp (decentralized application) hosted?
  • How can testing be done?
  • Can anyone view and call my contract?

Despite the fact that there is a number of resources available online about blockchain technology in general and blockchain development in particular, they are not consolidated and are not very easy to understand. So I had to dig through a lot of information, including books, white papers, forums, articles. Now I am able to compare typical ASP.NET Application architecture to Blockchain decentralised application architecture:

Decentralized applications development for .NET developers using Microsoft Visual Studio

As you see from this diagram Dapp is no more than a JavaScript calling either smart contract or anything else in the blockchain. The blockchain is playing a server role, except it’s not central at all, but rather a copy that replicates to all nodes (machines) that have Ethereum Virtual Machine (EVM) script running (Geth).

 

Once I had a clearer picture in my head of how it all works, I could start putting theory into practice. As I said earlier, I wanted to reuse my knowledge and develop DApps and smart contracts using tools and operating system that I know. As a.NET developer, I, of course, was looking into using Visual Studio.

I must say that there are very few articles available on that and most of them were outdated, so that inspired me to do research of my own. I found that BlockApps company has provided a liaison between Microsoft technology stack and Ethereum blockchain technology. As of today, you can try their Visual Studio integration as well as blockchain individual instance in Microsoft Azure.

In order to try that I you have to install Visual Studio 2015  and download the Solidity extension from the Visual Studio Marketplace

After that, you can start coding your smart-contract

DApp using Visual Studio.

In order to compile test and deploy you can use BLOC tool to give Visual Studio project access to BlockApps blockchain environment STRATO. BlockApps has provided instructions on how to use BLOC and STRATO:

 

After BLOC is up and running, you can compile and deploy your smart contract:

Decentralized applications development for .NET developers using Microsoft Visual Studio

As a result of the deploy, a test page will be generated for you, which allow you to test your smart contract:

 

 

Decentralized applications development for .NET developers using Microsoft Visual Studio

 

This test page together with your deployed smart contract is an example of a Dapp.

As an alternative to setting up your own blockchain environment, BlockApps is also offering you to spin out STRATO environment on Microsoft Azure. It called STRATO Blockchain Individual Instance, and it will consist of a single node:

 

Decentralized applications development for .NET developers using Microsoft Visual Studio

 

Current estimated price on top of Microsoft Azure subscription range from 132.51 CAD to 1798.11 CAD per month depending on virtual machine configuration – the number of cores, RAM, the number of disks, disk size, etc.

After that, you can point your Visual Studio project to your new Azure instance, and you can start deploying your smart contracts there:

Decentralized applications development for .NET developers using Microsoft Visual Studio

In case you already have local BLOC up and running you can change config.yaml to point to Azure instance instead.

 

As you can see, Visual Studio integration is in place for DApps development. Even though additional tools needed to setup your development environment, right now with Microsoft Doubles Down on ethereum With New Blockchain Product. It’s great time to jump onboard to be an earlier adopter on the Microsoft Platform.

Elena Sinelnikova
Elena is the founder of Cryptochicks, a non-profit organization that helps thousands of women around the world to learn and invest in blockchain. She has over 20 years of experience in the tech industry and has dominated the crypto industry to make the blockchain revolution inclusive of women. Currently, she is the CEO and co-founder of Metis, and has been expanding her wings in the crypto space as an angel investor. Elena also had the pleasure of earning Canada's Top Women in FinTech and Blockchain award. You can connect with Elena on Linkedin or Twitter.

Like what you read? Give us one like or share it to your friends and get +16 bl

70
Please to comment
newest oldest most voted
trackback

dissertation writing software https://helpon-doctoral-dissertations.net/

trackback

dissertation online help https://mydissertationwritinghelp.com/

trackback

uk dissertation writing service https://dissertationwriting-service.com/

trackback

cheap dissertation help in dallas https://buydissertationhelp.com/

trackback

free vegas world slots https://slotmachinegameinfo.com/

trackback

best time to play slots https://www-slotmachines.com/

trackback

hollywood slots in bangor https://411slotmachine.com/

trackback
trackback
trackback

free 777 slots no download https://slotmachinesforum.net/

trackback

free fun slots no download https://slotmachinesworld.com/

trackback

play free vegas slots https://pennyslotmachines.org/

trackback
trackback
trackback

latino gay dating site’s https://speedgaydate.com/

trackback

chat with senior gay’ https://gay-buddies.com/

trackback

gay chat apps for pc https://gaytgpost.com/

trackback

hiv gay black men dating sites https://gaypridee.com/

trackback
trackback

1wheelbarrow

alessandro alessio
alessandro alessio

not working ( vs2015 / solidity ext 1.1.4.0 / bloc 1.2.2 )
Contract Payout created successfully at address error uploading contract
Contract can be accessed here: http://localhost:8000/contracts/Payout/error uploading contract.html

There is an issue on github with plenty of users having the same problem

https://gist.github.com/aramkoukia/3203cbd3ea4f98952dad22bd971c9d4b

alessandro alessio
alessandro alessio

not working ( vs2015 / solidity ext 1.1.4.0 / bloc 1.2.2 )
Contract Payout created successfully at address error uploading contract
Contract can be accessed here: http://localhost:8000/contracts/Payout/error uploading contract.html

There is an issue on github with plenty of users having the same problem

https://gist.github.com/aramkoukia/3203cbd3ea4f98952dad22bd971c9d4b

alessandro alessio
alessandro alessio

not working ( vs2015 / solidity ext 1.1.4.0 / bloc 1.2.2 )
Contract Payout created successfully at address error uploading contract
Contract can be accessed here: http://localhost:8000/contracts/Payout/error uploading contract.html

There is an issue on github with plenty of users having the same problem

https://gist.github.com/aramkoukia/3203cbd3ea4f98952dad22bd971c9d4b

A
Ajay Raina

Ok i had some progress. Stupid me. I didnt put port 8000 after the URL. Could see the deployed contract. Now another problem. What is the password it expects? is it the same as bloc genkey? Please help.

Dmitry Buterin
Dmitry Buterin
A
Ajay Raina

Ok i had some progress. Stupid me. I didnt put port 8000 after the URL. Could see the deployed contract. Now another problem. What is the password it expects? is it the same as bloc genkey? Please help.

Dmitry Buterin
Dmitry Buterin
A
Ajay Raina

Ok i had some progress. Stupid me. I didnt put port 8000 after the URL. Could see the deployed contract. Now another problem. What is the password it expects? is it the same as bloc genkey? Please help.

Dmitry Buterin
Dmitry Buterin
A
Ajay Raina

I need your help. I spun up Azure for blockapp and even installed Visual studio 2015 with Solidity add on. Problem is i am not able to deploy a test contract. Does Azure virtual machine come with bloc installed already ? Because bloc genkey command doenst work on the logged in virtual machine. I beleive thats the password you use on Visual studio to enable contract deployment. Please email me at : ajay.raina@turnkey-digital.com. Appreciate any help you could give me here.

A
Ajay Raina

I need your help. I spun up Azure for blockapp and even installed Visual studio 2015 with Solidity add on. Problem is i am not able to deploy a test contract. Does Azure virtual machine come with bloc installed already ? Because bloc genkey command doenst work on the logged in virtual machine. I beleive thats the password you use on Visual studio to enable contract deployment. Please email me at : ajay.raina@turnkey-digital.com. Appreciate any help you could give me here.

A
Ajay Raina

I need your help. I spun up Azure for blockapp and even installed Visual studio 2015 with Solidity add on. Problem is i am not able to deploy a test contract. Does Azure virtual machine come with bloc installed already ? Because bloc genkey command doenst work on the logged in virtual machine. I beleive thats the password you use on Visual studio to enable contract deployment. Please email me at : ajay.raina@turnkey-digital.com. Appreciate any help you could give me here.

Dmitry Buterin
Dmitry Buterin

I am really to curious whether any startups use Microsoft stack for blockchain- or it’s all enterprises

Dmitry Buterin
Dmitry Buterin

I am really to curious whether any startups use Microsoft stack for blockchain- or it’s all enterprises

Dmitry Buterin
Dmitry Buterin

I am really to curious whether any startups use Microsoft stack for blockchain- or it’s all enterprises

compumatrix
Henry James Banayat

Awesome Elena! Thanks for these very valuable input.

compumatrix
Henry James Banayat

Awesome Elena! Thanks for these very valuable input.

compumatrix
Henry James Banayat

Awesome Elena! Thanks for these very valuable input.

Hungry for knowledge?
New guides and courses each week
Looking to invest?
Market data, analysis, and reports
Just curious?
A community of blockchain experts to help

Get started today

Already have an account? Sign In