用Visual Studio和c#开发以太坊dapp

时间:2024-01-21 16:24:31

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

作为一名.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开发。 即使需要额外的工具来设置开发环境,现在微软将使用新的针对以太坊区块链产品。 是时候上岸了,成为微软平台的早期采用者了。