如何在Azure上构建区块链

不久前 ,微软宣布了两个区块链项目 ,将分布式账本带到了Azure。 Bletchley项目和Coco Framework提供了工具,用于建立基于联合体的区块链,通过限制对已知参与者的访问,可在不产生工作量证明和权益证明操作的开销和性能损失的情况下进行操作。

这些项目现在是产品,是Azure区块链工作台的一部分 。 区块链工作台可从Azure市场作为一组解决方案模板使用,包含构建和运行自己的区块链应用程序所需的所有服务和组件。 安装后,它会自动设置Azure事件网格,Azure服务总线,SQL数据库,存储帐户,密钥库,应用程序服务,VMsm和虚拟网络,以及监视和管理工具。

[探索图形的力量-Microsoft Graph,即在您的应用程序中: Microsoft Graph:Office 365隐藏财富的APIMicrosoft Graph和Microsoft Teams重塑OfficeCortana超越了成为个人助手的范围 | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

部署Azure区块链工作台

那里有很多东西,全部打包成一个资源组,以跨一个或多个Azure区域进行部署。 您使用正常的Azure计费向您收取费用,以补偿其使用的每项服务的费用。 尽管开发成本可能很低,但您需要密切注意在该服务上构建的任何实时区块链的使用。

设置您的Blockchain Workbench要求为VM添加适当的用户名以及数据库密码。 SSH和标准Windows身份验证均受支持,因此您可以使用SSH RSA密钥而不是密码来提高实例的安全性-如果您要构建金融或交易区块链解决方案,或者将要通过Unix系统进行管理。

定义资源组后,您还需要设置其他功能, 使用以太坊区块链为应用程序创建初始的权限证明节点。 除了创建新的区块链,还将其添加到Azure Active Directory中以控制访问,以及定义将用于每个节点的VM大小以及所需的存储类型。 最后一个选项决定了区块链的性能。 使用授权证明可确保您的区块链相对较快,因为只有经过批准的实体才能写入您应用程序的区块链。

如果您要将Workbench安装附加到现有的以太坊网络,则需要可访问且不收费。 微软的区块链无意使您付出任何代价。 它们适用于希望透明共享信息的可信赖的合作伙伴。 如果您将Blockchain Workbench连接到使用权益证明并需要资金的以太坊网络,则所有交易都会失败。

完成配置后,Azure将部署Blockchain Workbench资源组。 由于组件很多,因此您可能需要等待一段时间才能完成部署,尽管该过程不会超过几个小时。 然后,您可以运行Azure Active Directory配置脚本来完成设置,并通过Azure应用程序服务URL连接到您的区块链。 连接后,您可以在门户中将Blockchain Workbench注册为Azure应用。 这使您可以控制使用的URL和API,以及管理用户和区块链本身的权限。

在Azure区块链工作台上构建应用程序

区块链不仅适用于数字货币,而且微软基于联盟的方法将其视为构建组织间工作流的工具,联盟伙伴将合作伙伴将Azure托管的Etherium应用程序视为共享信息的中立平台。 构建在Blockchain Workbench上的应用程序将其用作透明分类帐,在该分类帐中,所有写入和所有更改对财团的所有成员都是可见的。

在Blockchain Workbench之上构建区块链应用相对简单,其底层基础架构由Azure管理。 您首先在JSON文档中描述工作流程。 这定义了交互中的参与者以及交互本身。 交互本质上是基于消息的,使用请求和响应来处理工作流。 您还需要定义需要存储在区块链中的状态,以管理工作流程的步骤。

由于Blockchain Workbench基于以太坊,因此处理工作流程的代码需要以太坊的Solidity语言编写。 Solidity是基于ECMAScript的一种面向合同的语言,使用以太坊工作流管理的消息触发的功能来实现智能合约的写入和读取操作。 函数完成后,它将通过调用ContractUpdated函数来更新事务。

使用Azure Active Directory控制身份和权限

以太坊应用程序中的每个功能都会在其区块链中留下不可变的痕迹,该痕迹将在Azure中的应用程序的所有实例之间复制,并且对财团的所有成员均可见。 通过Azure Active Directory管理成员,可以使用熟悉的工具添加和删除成员,并分配由区块链工作流JSON定义的角色。 通过使用Azure Active Directory的联合身份验证功能跨公司边界分配角色,可以更轻松地吸引来自不同组织的用户。

使用诸如Blockchain Workbench之类的框架及其Azure集成的一个优势是其预定义的用户界面,该界面具有上载新合同,管理用户和处理合同操作所需的所有工具。 用户可以处理与其在合同中的角色相关的动作; 例如,签名文档,发布签名文档的加密哈希,然后将签名哈希保存为应用程序块链中的实体。 Microsoft还提供了PowerShell工具来帮助调试应用程序。

使用无服务器应用程序扩展区块链

Azure Blockchain Development Kit是一个新工具,位于Blockchain Workbench的顶部,可将其链接到无服务器技术,并提供与外部服务的连接。 通过GitHub上的示例代码 ,它旨在简化围绕Microsoft区块链工具构建应用程序的过程。 重要的是,使区块链成为应用程序工具箱中众多工具之一,消除炒作并使用它来解决实际问题。

无服务器技术(如Logic Apps)的支持将使自动化区块链应用程序变得更加容易。 无需手动处理交互,代码可以成为工作流的一部分,发送消息并处理数据。 通过使用Blockchain Workbench API端点,您可以自动调用以太坊智能合约上的操作,以及基于区块链中的状态触发操作。

微软的区块链开发方法中最有趣的方面也许是它对加速器的支持,以处理特定的用例以及对devops的实施指南 。 建立这样的设计模式和最佳实践库对于企业采用区块链技术(超出实验)至关重要。

From: https://www.infoworld.com/article/3322900/how-to-build-blockchains-on-azure.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值