用Visual Studio和C#开发以太坊应用程序

混江龙づ霸主 提交于 2019-11-28 15:35:32

最近区块链技术引起了我的注意。我刚开始了解它,就看到了区块链去中心化架构的巨大潜力,并且它能够简化各种现有繁琐的流程,通过各种形式的合约

作为一名.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的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和事件等。

其他区块链教程:

  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。
  • web3j教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
  • EOS智能合约与DApp开发入门教程,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后运用react和各知识点完成一个便签DApp的开发。

汇智网原创翻译,转载请标明出处。这里是原文

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!