最近區塊鏈技術引起了我的注意。我剛開始了解它,就看到了區塊鏈去中心化架構的巨大潛力,並且它能夠簡化各種現有繁瑣的流程,通過各種形式的合約
。
作為一名.NET開發人員,我主要使用的是一些提供中心數據源的架構,因此區塊鏈的去中心化概念對我來說是全新的。我很快就看到它如何提供更高的可靠性,完整性和透明化。我開始尋找可以讓我開始使用熟悉的操作系統和工具進行開發dapp應用程序的信息:Windows和Visual Studio。
最初,我對以太坊區塊鏈,智能合約和dapp應用程序提出了大量疑問。
- 所有信息都存儲在哪里?
- 智能合約在哪里部署?
- Dapp(去中心化應用程序)在哪里托管?
- 如何進行測試?
- 誰能查看並調用我的合約?
盡管網上提供了大量關於區塊鏈技術和區塊鏈開發的資源,但它們並沒有得到驗證,也不是很容易理解。所以我不得不深入挖掘很多信息,包括書籍,白皮書,論壇,文章。現在我能夠將典型的ASP.NET應用程序架構與Blockchain去中心化的應用程序架構進行比較:
正如你從此圖中看到的,Dapp只不過是一個JavaScript,無論是智能合約還是區塊鏈中的任何其他東西。區塊鏈正在扮演服務器角色,除了它根本不是中心,而是復制到運行以太坊虛擬機(EVM)腳本(Geth)的所有節點(機器)的副本。
一旦我對自己的工作方式有了更清晰的了解,我就可以開始將理論付諸實踐了。正如之前所說,想重用我的知識,並使用我所熟悉的工具和操作系統去開發DApps和智能合約。作為.NET開發人員,我當然正在研究使用Visual Studio。
我必須說,關於這方面的文章很少,而且大多數都已經過時了,所以這激勵我做自己的研究。我發現BlockApps公司提供了Microsoft技術堆棧和以太坊區塊鏈技術之間的聯絡。截至今天,你可以在Microsoft Azure中嘗試Visual Studio集成區塊鏈單個實例。
為了嘗試,我需要安裝Visual Studio 2015並從Visual Studio Marketplace下載Solidity擴展。
之后,就可以開始編寫智能合約和DApp,這里只是做簡單的使用說明,如果想深入了解C#智能合約的開發可以看這里的以太坊C#開發實戰入門教程。
為了編譯測試和部署,可以使用BLOC工具為Visual Studio項目提供對BlockApps區塊鏈環境STRATO的訪問。BlockApps提供了有關如何使用BLOC和STRATO的說明。
BLOC啟動並運行后,您可以編譯和部署智能合約:
部署后,將為生成一個測試頁面,允許你測試智能合約:
此測試頁面與您部署的智能合約是Dapp的一個示例。
作為建立自己的區塊鏈環境的替代方案,BlockApps還可以提供在Microsoft Azure上分離STRATO環境的功能。它稱為STRATO Blockchain Individual Instance
,它將由一個節點組成:
Microsoft Azure訂閱之上的當前估計價格范圍從每月132.51 CAD到1798.11 CAD,具體取決於虛擬機配置 - 核心數,RAM數,磁盤數,磁盤大小等。
之后,您可以將Visual Studio項目指向新的Azure實例,然后就可以開始在那里部署智能合約:
如果你已經啟動並運行本地BLOC,則可以將config.yaml更改為指向Azure實例。
如你所見,Visual Studio集成適用於DApps開發。 即使需要額外的工具來設置開發環境,現在微軟將使用新的針對以太坊區塊鏈產品。 是時候上岸了,成為微軟平台的早期采用者了。