65.9K
CodeProject 正在变化。 阅读更多。
Home

在 Azure Blockchain Workbench 中部署新应用程序

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2018年7月26日

CPOL

3分钟阅读

viewsIcon

8915

在本文中,我们将介绍如何在 Azure Blockchain Workbench 中部署新应用程序。

引言

Azure Blockchain Workbench 是为开发人员创建的,作为一个易于使用的辅助框架来实现区块链账本,您将只专注于应用程序及其关联的工作流,以灵活的方式测试它们之间的不同场景,通过创建智能合约来确保在实施过程中能够快速启动。因此,您无需关心基础设施和配置,因为您将使用 Azure 的服务来确保交易验证的优化,以及资源的释放和挖掘带来的性能开销。

上一篇文章中,我们描述了 Azure Blockchain Workbench 的部署,配置了 Azure AD,并在 Azure Blockchain Workbench 中添加了 Azure AD 用户。在本文中,我们将解释如何通过部署智能合约来添加新应用程序。

部署完成后,我们将访问第一个 URL,这是后端部分,您将看到一个 Azure AD 登录体验,您可以在其中输入您的工作或个人 Microsoft 帐户凭据来访问应用程序。

我们将专注于创建智能合约。一旦智能合约在工作台中实例化,管理员就可以分配用户、部署演示合约和部署自定义合约。

 Jump 

Azure Blockchain Workbench 部署完成后,我们将通过导航到其 URL 来访问它。您将看到一个由 Azure AD 支持的登录体验,您可以在其中输入您的工作或个人 Microsoft 帐户凭据来访问应用程序。

第二个 URL 是 Azure Blockchain Workbench REST API,它提供可用的服务,以方便开发人员或区块链用户进行应用程序集成。

智能合约

让我们从智能合约开始讲起,它包含业务逻辑,用于处理不同的场景流程。

什么是智能合约?

它们是用一种特定语言编写的,例如,以太坊的 Solidity,并部署到区块链上的所有节点。(https://www.ethereum.org

在 GitHub 上,我们可以使用任何示例

为了能够打开这些示例,我们需要安装 Visual Studio Code(https://vscode.js.cn/ Jump )和 Solidity 插件(https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity Jump )。

 Jump

如果我们打开任何示例,会发现它包含两个文件:JSON 文件和 Sol 文件。

本文将使用这个名为 SimpleMarketplace 的示例:

SimpleMarketplace.json 定义了区块链应用程序的配置。

 Jump

SimpleMarketplace.sol 是用以太坊使用的 Solidity 语言编写的,它允许开发人员创建和更新合约,并通过以下方法实现:ContractCreated() ContractUpdated()

 Jump

我们有一个类似于面向对象语言中的构造函数 WorkbenchBase,它接收 ApplicationNameWorkflowName 作为参数。

function WorkbenchBase(string applicationName, string workflowName) internal {
        ApplicationName = applicationName;
        WorkflowName = workflowName;
    }

之后,合约应该继承自基类 WorkbenchBase

contract SimpleMarketplace is WorkbenchBase('SimpleMarketplace', 'SimpleMarketplace')

我们有一组状态,这些状态稍后将在函数中使用。

enum StateType {
      ItemAvailable,
      OfferPlaced,
      Accepted
    }
function MakeOffer(int offerPrice) public
    {
        if (offerPrice == 0)
        {
            revert();
        }
        if (State != StateType.ItemAvailable)
        {
            revert();
        }
       
        if (InstanceOwner == msg.sender)
        {
            revert();
        }
        InstanceBuyer = msg.sender;
        OfferPrice = offerPrice;
        State = StateType.OfferPlaced;
        ContractUpdated('MakeOffer');
    }

部署智能合约

此应用程序可以按以下方式在我们的工作台中部署:

  1. 以管理员身份登录 Azure Blockchain Workbench。
  2. 选择 Applications > New。此时将显示 New Application 窗格。
  3. 选择 Upload the contract configuration,然后 Browse 加载配置文件 SimpleMarketplace.json
  4. 选择 Upload the contract code,然后 Browse 加载 SimpleMarketplace.sol 文件。
  5. 选择 Deploy 以创建我们的应用程序。
  6. 几分钟后,新应用程序将显示在 Applications 中。

我们可以从界面创建更多合约。

  Jump

相同的界面允许管理员创建更多用户或部署自定义合约。

Azure Blockchain Workbench 允许您集成其他服务,如 Azure Logic Apps、Web APIs、Notification Hubs 等。

结论

在本文中,我们使用了一个现有示例,描述了如何在 Azure Blockchain Workbench 中部署新应用程序。

Azure Blockchain Workbench 使用对业务流程的共享视图,但运行在一个安全且分布式的账本上,它为区块链应用程序搭建了脚手架。

© . All rights reserved.