用Visual Studio的.NET程序员开发dapp应用程序

栏目: ASP.NET · 发布时间: 6年前

内容简介:最近区块链技术引起了我的注意。我刚开始了解它,就看到了区块链去中心化架构的巨大潜力,并且它能够简化各种现有繁琐的流程,通过各种形式的作为一名.NET开发人员,我主要使用的是一些提供中心数据源的架构,因此区块链的去中心化概念对我来说是全新的。我很快就看到它如何提供更高的可靠性,完整性和透明化。我开始寻找可以让我开始使用熟悉的操作系统和工具进行开发dapp应用程序的信息:Windows和Visual Studio。最初,我对以太坊区块链,智能合约和dapp应用程序提出了大量疑问。

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

作为一名.NET开发人员,我主要使用的是一些提供中心数据源的架构,因此区块链的去中心化概念对我来说是全新的。我很快就看到它如何提供更高的可靠性,完整性和透明化。我开始寻找可以让我开始使用熟悉的操作系统和 工具 进行开发dapp应用程序的信息:Windows和Visual Studio。

最初,我对以太坊区块链,智能合约和dapp应用程序提出了大量疑问。

  • 所有信息都存储在哪里?
  • 智能合约在哪里部署?
  • Dapp(去中心化应用程序)在哪里托管?
  • 如何进行测试?
  • 谁能查看并调用我的合约?

尽管网上提供了大量关于区块链技术和区块链开发的资源,但它们并没有得到验证,也不是很容易理解。所以我不得不深入挖掘很多信息,包括书籍,白皮书,论坛,文章。现在我能够将典型的ASP.NET应用程序架构与Blockchain去中心化的应用程序架构进行比较:

用Visual Studio的.NET程序员开发dapp应用程序

正如你从此图中看到的,Dapp只不过是一个JavaScript,无论是智能合约还是区块链中的任何其他东西。区块链正在扮演服务器角色,除了它根本不是中心,而是复制到运行以太坊虚拟机(EVM)脚本(Geth)的所有节点(机器)的副本。

一旦我对自己的工作方式有了更清晰的了解,我就可以开始将理论付诸实践了。正如之前所说,想重用我的知识,并使用我所熟悉的工具和操作系统去开发DApps和智能合约。作为.NET开发人员,我当然正在研究使用Visual Studio。

我必须说,关于这方面的文章很少,而且大多数都已经过时了,所以这激励我做自己的研究。我发现BlockApps公司提供了Microsoft技术堆栈和以太坊区块链技术之间的联络。截至今天,你可以在Microsoft Azure中尝试Visual Studio集成区块链单个实例。

为了尝试,我需要安装Visual Studio 2015并从Visual Studio Marketplace下载Solidity扩展。

之后,就可以开始编写智能合约和DApp。

用Visual Studio的.NET程序员开发dapp应用程序

为了编译测试和部署,可以使用BLOC工具为Visual Studio项目提供对BlockApps区块链环境STRATO的访问。BlockApps提供了有关如何使用BLOC和STRATO的说明。

BLOC启动并运行后,您可以编译和部署智能合约:

用Visual Studio的.NET程序员开发dapp应用程序

部署后,将为生成一个测试页面,允许你测试智能合约:

用Visual Studio的.NET程序员开发dapp应用程序

用Visual Studio的.NET程序员开发dapp应用程序

此测试页面与您部署的智能合约是Dapp的一个示例。

作为建立自己的区块链环境的替代方案,BlockApps还可以提供在Microsoft Azure上分离STRATO环境的功能。它称为 STRATO Blockchain Individual Instance ,它将由一个节点组成:

用Visual Studio的.NET程序员开发dapp应用程序

Microsoft Azure订阅之上的当前估计价格范围从每月132.51 CAD到1798.11 CAD,具体取决于虚拟机配置 - 核心数,RAM数,磁盘数,磁盘大小等。

之后,您可以将Visual Studio项目指向新的Azure实例,然后就可以开始在那里部署智能合约:

用Visual Studio的.NET程序员开发dapp应用程序

如果你已经启动并运行本地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的开发。

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

《Unity3D网络游戏实战(第2版)》

《Unity3D网络游戏实战(第2版)》

罗培羽 / 机械工业出版社 / 2019-1-1 / 89.00元

详解Socket编程,搭建稳健的网络框架;解决网游中常见的卡顿、频繁掉线等问题;探求适宜的实时同步算法。完整的多人对战游戏案例,揭秘登录注册、游戏大厅、战斗系统等模块的实现细节。 想要制作当今热门的网络游戏,特别是开发手机网络游戏,或者想要到游戏公司求职,都需要深入了解网络游戏的开发技术。本书分为三大部分,揭示网络游戏开发的细节。 第一部分“扎基础”(1-5章) 介绍TCP网络游......一起来看看 《《Unity3D网络游戏实战(第2版)》》 这本书的介绍吧!

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具