zoukankan      html  css  js  c++  java
  • 用Visual Studio和c#开发以太坊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,这里只是做简单的使用说明,如果想深入了解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开发。 即使需要额外的工具来设置开发环境,现在微软将使用新的针对以太坊区块链产品。 是时候上岸了,成为微软平台的早期采用者了。

  • 相关阅读:
    #sort 快速排序 20. 9.14
    #Trie Trie树调试模板 20.09.21
    #operator ——“Kruskal算法求最小生成树 中的 operator” ~20.8.17
    #STL #List 容器函数以及一些内置函数的用法
    刷题周记(三)——#最小生成树:Kruskal#二分图:染色法、匈牙利算法#拓扑#DFS:排列数字、n-皇后#BFS:走迷宫、八格码#List容器
    #周测 9 —— 高低位交换、Subsequences Summing to Sevens S、积木大赛、跳石头
    刷题周记(二)——KMP,Trie,最大异或对,(并查集)合并集合、连通块中点的数量、食物链,堆排序,单多源最短路、Dijkstra、bellman-ford、SPFA、Floyd、(堆优化)Prim
    4.SQL(数据库变更)
    3.SQL(查询)
    2.Oracle基本使用
  • 原文地址:https://www.cnblogs.com/malakashi/p/9644547.html
Copyright © 2011-2022 走看看