1. 程式人生 > >c#工程師用Visual Studio開發dapp應用程式

c#工程師用Visual Studio開發dapp應用程式

最近區塊鏈技術引起了我的注意。我剛開始瞭解它,就看到了區塊鏈去中心化架構的巨大潛力,並且它能夠簡化各種現有繁瑣的流程,通過各種形式的合約

作為一名.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。

為了編譯測試和部署,可以使用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開發。 即使需要額外的工具來設定開發環境,現在微軟將使用新的針對以太坊區塊鏈產品。 是時候跳上板,成為微軟平臺的早期採用者了。

如果你想馬上使用c#開發以太坊dapp,可以學習下面的教程:

C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括賬戶管理、狀態與交易、智慧合約開發與互動、過濾器和事件等。

這裡是原文