2018年11月15日,微软宣布了Azure区块链开发工具包,它基于微软的无服务器技术构建,并且利用微软和第三方SaaS,完美集成了区块链。该工具包扩展了微软的区块链开发模板和Azure Blockchain Workbench,其中,后者把 Azure 密钥管理服务、“链下(off-chain)”身份和数据、监控和消息传递API纳入了同一个参考体系结构,用于快速构建基于区块链的应用程序。这些工具已经成为许多组织创新业务方式之旅的第一步。

  最初的版本主要实现了三个方面的功能:连接接口、数据和系统集成、部署智能合约和区块链网络。

  连接

  为国际联盟提供端到端的区块链解决方案,开发人员需要能够使组织、人和设备连接到区块链,并且可以从一组异构的用户界面完成。

  举个端到端商品(如可可豆)供应链的例子。

  -SMS和语音接口使得非洲的小型农场可以在供应链的第一英里处理和跟踪他们的货物 。

  -物联网(IoT) 设备提供传感器数据来追踪货物在运往市场的过程中不同时刻的状况——跟踪存放豆子的集装箱的湿度以及包含这些豆子的最终产品冰淇淋的温度。

  -移动客户端 使物流供应商能够在产品从制造商转移到零售商的过程中,利用员工口袋中已有的计算能力,接收并转移产品责任。移动设备也有传感器,如GPS和摄像头,可以补充数据,帮助说明什么时间往哪里发什么货。

  -后端系统和数据 是ERP系统的形式,如Dynamics和SAP,用于管理不同参与者的核心流程。通过扩展,这些系统还会变成客户端,与智能合约进行交互,代表组织提供和接收可证明的数据。

  -机器人和智能助手 使制造商和零售商可以与供应链交互。这包括使用自然语言与订单智能合约和原产地交互,使用从区块链获得的可证明数据直接代表用户采取行动。

  -Web 客户端 让终端消费者可以查询从零售商购买的产品的来源,通常包括其原产地和产品从“农场到餐桌”的整个过程。

  Azure 区块链开发工具包 包括针对所有这些场景的样例,包括 入站 和 出站、SMS、IVR、IoT Hub 和 IoT Central、Xamarin iOS 和 Android 移动客户端、通过通用数据服务(CDS)集成 Dynamics、机器人和智能助手(微软小娜、Alexa、谷歌助手)及 Web UX。

  集成

  企业使用区块链和智能合约促进多方流程。区块链还会向合适的参与者提供那些合约的实时状态和事件,保证透明度。

  端到端区块链解决方案需要集成链下的数据、软件和媒体。外部的更新和事件可以触发智能合约动作。智能合约事件和状态变化可以触发“链下”系统和数据的操作和更新。这些外部系统和人工智能还需要从智能合约查询可证明数据来指导行动。

  具体来说,有两个领域的集成最需要指导。

  文档和媒体:文档和媒体不属于区块链,但业务流程通常包括图像、视频、音频、办公文档、3D 印制机 CAD 文件或其他文件类型。常见的模式是生成一个唯一的媒体散列和描述它的元数据。然后,那些散列会被放在一个公有或私有链上。如果文件的真实性遭到质疑,则可以稍后把“链下”文件重新散列,并把那个散列和存储在区块链上的散列进行比较。如果散列值匹配,则文档是真实的,但是,如果图像的一个像素或文档中的一个字母改变了,则散列将不匹配,显然发生了篡改。

  11月15日,微软发布了一组“逻辑应用(Logic Apps)”,它们支持文件散列和与之相关的元数据。其中还包括文件智能合约和在链上存储散列的文件注册中心。已创建的逻辑应用是为添加到最流行的文档和媒体源的文件提供这个功能,包括 Azure Storage、OneDrive、One Drive for Business、SharePoint、Box、Adobe Creative Cloud 和 FTP。null智能合约交互:将区块链从白板上移除并投入生产应用,意味着要处理交易双方现如今如何交互的实际情况。事实是,企业集成一团糟。

  微软把这方面数十年的经验带到了区块链。他们的企业系统集成工作始于大约 20 年前推出 BizTalk Server,他们对数据库集成的关注可以追溯到上世纪 90 年代他们开发的开放数据库连接(ODBC)。他们的所有经验都已在 Azure 服务中实现并提供。这包括在逻辑应用程序和流中提供的 200 多个连接器,以及其数据平台的健壮性。null区块链应用程序开发工具包 包括以下领域的 Workbench 集成示例:

  遗留应用程序和协议——通过 FTP发送 和 接收 文件、处理逗号分隔的文件 以及 通过电子邮件发送数据;

  数据—— SQL、Azure Search、Excel 和 PowerBI;

  SaaS—— SharePoint、Dynamics、Outlook 和 Gmail;

  Registries—— 一个 加速器,可以生成自定义注册中心和注册项智能合约以适应任何场景。

  逻辑应用区块链连接器

  11月15日,微软还宣布,他们将发布一组逻辑应用和流连接器,把这些样例扩展到 以太坊、Corda、Bitcoin 等分类账。

  R3 产品主管 Mike Ward 表示:

  在 R3,我们致力于确保开发者能够快速、安全、轻松地部署 CorDapps。Azure 区块链开发工具包将为我们的企业客户提供与应用程序、软件和人们日常使用的实用程序(如 Outlook、Alexa、SMS 和 Web UX)集成的工具。区块链正走出实验室,进入日常商业应用领域。

  现在,以太坊区块链连接器已经可用,用户可以部署合约、调用合约操作、读取合约状态并根据分类账中的事件触发其他逻辑应用。

  部署

  随着区块链技术在企业软件开发中日益成为主流,组织希望在如何为智能合约和区块链项目提供 DevOps 方面获得指导。

  以下是一些常见的问题:

  我的业务逻辑和该逻辑的数据模式反映在智能合约中。智能合约是用我不太熟悉的语言编写的,比如以太坊的 Solidity、Corda 的 Kotlin 或者 Hyperledger Fabric 的 Go。我该用什么工具来开发它们?

  我如何进行智能合约的单元测试和调试?

  许多区块链场景反映了多方交易和业务工作流。这些工作流包括以特定顺序发生的来自多方的签名交易。我如何考虑那个场景中测试环境里的数据呢?

  智能合约被部署到区块链,它是不可变的。我要如何考虑基础设施即代码、本地开发 / 测试、合约升级,等等?

  区块链是一个在联盟中的多个组织间共享数据的技术,它对全球多方环境中的源代码控制、构建和发布管道有什么影响?

  虽然这种方法有一些细微的差别,但好消息是,就像其他类型的解决方案开发一样,这个模型在 DevOps 模型中很容易处理。同一天,微软发布了白皮书《区块链智能合约 DevOps》。

  Truffle 创始人 Tim Coulter 表示:

  我们很高兴能与微软合作,为区块链工程师创建规范的 DevOps 体验。我们的白皮书“区块链智能合约 DevOps”做了详细介绍,并通过示例说明了如何在联盟环境中开发基于 CI/CD 的区块链应用程序。

  一份实现指南对白皮书进行了补充,可以通过Azure区块链开发工具包获得,它展示了如何使用 Visual Studio Code、GitHub、Azure DevOps 和 Truffle 的 OSS 为智能合约和基础设施及代码实现 CI/CD。

作者:dkadll

千氪链接:https://www.kg.com/article/514795314755014656

微软Azure区块链开发工具包三大功能详解的更多相关文章

  1. 002/区块链核心概念与原理详解(Mooc)

    1.课程介绍 (一).区块链前世今生 密码朋克--神秘组织(邮件组) 2.区块链核心概念与原理 (一)比特币是数字货币 为什么叫区块链? 因为比特币系统里面的数据是一个个的区块来存储,并且通过hash ...

  2. HyperLedger Fabric 1.4 区块链开发平台(4.1)

    目前区块链开发平台分“公有链平台”和“联盟链系统”两类,“公有链平台”主要以以太坊为主的平台,可以在该类平台上进行代币的发行和根据各种模块搭建应用:“联盟链系统”主要以超级账本为主的开源系统,该类开源 ...

  3. 转:区块链开发(一)搭建基于以太坊go-ethereum的私有链环境

    区块链开发(一)搭建基于以太坊go-ethereum的私有链环境 wo541075754 · 2016-11-07 13:00:03 · 3730 次点击 · 预计阅读时间 3 分钟 · 约1小时前  ...

  4. golang区块链开发的视频教程推荐

    目前网上关于golang区块链开发的资源很少,以太坊智能合约相关的课程倒是很多,可能是由于前者的难度比后者难度大,课程开发需要投入更多精力.搜了一圈之后没结果,我就直接去之前没覆盖的视频网站找资源,包 ...

  5. 区块链开发(七)truffle使用入门汇总

    截止上篇博客,以太坊区块链开发的环境和框架基本上搭建完毕.这一篇博客重点梳理一下基本的流程和操作演示. 前奏 基于前面的安装配置,现在重新梳理一遍,以前博客讲到的就在这里一笔带过. (1)创建一个工作 ...

  6. FISCO BCOS WorkShop | 区块链开发特训营,开课啦!

    FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造.开源工作组成员包括博彦科技.华为.深证通.神州数码.四方精创.腾讯.微众银行. ...

  7. IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)

    来源: http://www.cnblogs.com/JustinYoung/archive/2009/04/03/kaifarenyuangongju2.html 在上一篇文章IE8“开发人员工具” ...

  8. IE8“开发人员工具”使用详解上(各级菜单详解)

    来源: http://www.cnblogs.com/JustinYoung/archive/2009/03/24/kaifarenyuangongju.html IE8“开发人员工具”使用详解上(各 ...

  9. .NET ORM框架 SqlSuagr4.0 功能详解与实践【开源】

    SqlSugar 4.0 ORM框架的优势 为了未来能够更好的支持多库分布式的存储,并行计算等功能,将SqlSugar3.x全部重写,现有的架构可以轻松扩展多库. 源码下载: https://gith ...

随机推荐

  1. python中mp3转wav(Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work")

    1.下载pydub:pip install pydub 2.下载与操作系统一致的ffmpeg:http://ffmpeg.org/download.html 3.解压后将下载的ffmpeg下的bin目 ...

  2. Ubuntu 16.04下IntelliJ IDEA菜单显示乱码的问题解决

    说明:这个问题一般是Ubuntu安装时默认使用了中文,而IDEA默认是以系统默认字体为主,所以就会出现乱码:要解决这种问题,就是在IDEA启动时强制设置为英文. 解决方式: 在idea.vmoptio ...

  3. OpenSSL使用1(用OpenSSL生成自签名证书在IIS上搭建Https站点)(用于iOS的https访问)

    前提: 先安装openssl,安装有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.这里推荐第一种. 安装包:http://slproweb.com/products/ ...

  4. 【java】TreeMap/HashMap的循环迭代中 keySet和entrySet和forEach方式 + map的几种迭代方式

    参考链接:https://www.cnblogs.com/crazyacking/p/5573528.html ================================== java紫色代表迭 ...

  5. ef SaveChanges()报"更新条目时出错,有关详细信息请参见内部异常"

    报这个错误是因为表没有设置主键,设完主键后再重新更新Entity,就可以添加了

  6. Mysql 性能监控及调优

    死锁概念: 两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象 1.监控死锁(innotop): (1) 启用 innodb_status_file 在/etc/my.cnf添加如 ...

  7. C++必知必会(1)

    条款1数据抽象 抽象数据类型的用途在于将变成语言扩展到一个特定的问题领域.一般对抽象数据类型的定义须要准训下面步骤: 1.     为类型取一个描写叙述性的名字 2.     列出类型所能运行的操作 ...

  8. Android开发之WebView具体解释

    概述: 一个显示网页的视图.这个类是你能够滚动自己的Web浏览器或在你的Activity中简单地显示一些在线内容的基础.它使用了WebKit渲染引擎来显示网页,包含向前和向后导航的方法(通过历史记录) ...

  9. Maven零散笔记——配置Nexus

    安装&配置Nexus 解压后,应该获得如下目录结构: nexus-2.0.6是nexus服务主目录 sonatype-work是真正的仓库,同时包含了nexus的配置,如定时任务.用户配置等 ...

  10. Java使用笔记之对象比较

    1.关于java对象的比较,经常会遇见比较某个两个对象的多个属性是否相等,可以通过重写对象equals方法来实现. 比如有两个User,如果姓名和年龄相等的话,我们就可以认为他们重复的数据.那么我们就 ...