用Visual Studio和C#開發以太坊應用程序

最近區塊鏈技術引發了個人注意。我剛開始瞭解它,就看到了區塊鏈去中心化架構的巨大潛力,而且它可以簡化各類現有繁瑣的流程,經過各類形式的合約php

做爲一名.NET開發人員,我主要使用的是一些提供中心數據源的架構,所以區塊鏈的去中心化概念對我來講是全新的。我很快就看到它如何提供更高的可靠性,完整性和透明化。我開始尋找可讓我開始使用熟悉的操做系統和工具進行開發dapp應用程序的信息:Windows和Visual Studio。java

最初,我對以太坊區塊鏈,智能合約和dapp應用程序提出了大量疑問。node

  • 全部信息都存儲在哪裏?
  • 智能合約在哪裏部署?
  • Dapp(去中心化應用程序)在哪裏託管?
  • 如何進行測試?
  • 誰能查看並調用個人合約?

儘管網上提供了大量關於區塊鏈技術和區塊鏈開發的資源,但它們並無獲得驗證,也不是很容易理解。因此我不得不深刻挖掘不少信息,包括書籍,白皮書,論壇,文章。如今我可以將典型的ASP.NET應用程序架構與Blockchain去中心化的應用程序架構進行比較:python

正如你今後圖中看到的,Dapp只不過是一個JavaScript,不管是智能合約仍是區塊鏈中的任何其餘東西。區塊鏈正在扮演服務器角色,除了它根本不是中心,而是複製到運行以太坊虛擬機(EVM)腳本(Geth)的全部節點(機器)的副本。react

一旦我對本身的工做方式有了更清晰的瞭解,我就能夠開始將理論付諸實踐了。正如以前所說,想重用個人知識,並使用我所熟悉的工具和操做系統去開發DApps和智能合約。做爲.NET開發人員,我固然正在研究使用Visual Studio。android

我必須說,關於這方面的文章不多,並且大多數都已通過時了,因此這激勵我作本身的研究。我發現BlockApps公司提供了Microsoft技術堆棧和以太坊區塊鏈技術之間的聯絡。截至今天,你能夠在Microsoft Azure中嘗試Visual Studio集成區塊鏈單個實例。程序員

爲了嘗試,我須要安裝Visual Studio 2015並從Visual Studio Marketplace下載Solidity擴展。web

以後,就能夠開始編寫智能合約和DApp。mongodb

爲了編譯測試和部署,可使用BLOC工具爲Visual Studio項目提供對BlockApps區塊鏈環境STRATO的訪問。BlockApps提供了有關如何使用BLOC和STRATO的說明。c#

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的以太坊應用,包括帳戶管理、狀態與交易、智能合約開發與交互、過濾器和事件等。

其餘區塊鏈教程:

  • php以太坊,主要是介紹使用php進行智能合約開發交互,進行帳號建立、交易、轉帳、代幣開發以及過濾器和事件等內容。
  • web3j教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
  • 以太坊教程,主要介紹智能合約與dapp應用開發,適合入門。
  • 以太坊開發,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
  • python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
  • EOS智能合約與DApp開發入門教程,內容涵蓋EOS工具鏈、帳戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最後運用react和各知識點完成一個便籤DApp的開發。

匯智網原創翻譯,轉載請標明出處。這裏是原文

相關文章
相關標籤/搜索