Search Inside Bitcoins

Decentralized applications development for .NET developers using Microsoft Visual Studio

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:

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

Read next

InsideBitcoins uses cookies to improve and customize your user experience. Learn more

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.