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





5.00/5 (1投票)
在本文中,我们将介绍如何在 Azure Blockchain Workbench 中部署新应用程序。
引言
Azure Blockchain Workbench 是为开发人员创建的,作为一个易于使用的辅助框架来实现区块链账本,您将只专注于应用程序及其关联的工作流,以灵活的方式测试它们之间的不同场景,通过创建智能合约来确保在实施过程中能够快速启动。因此,您无需关心基础设施和配置,因为您将使用 Azure 的服务来确保交易验证的优化,以及资源的释放和挖掘带来的性能开销。
在上一篇文章中,我们描述了 Azure Blockchain Workbench 的部署,配置了 Azure AD,并在 Azure Blockchain Workbench 中添加了 Azure AD 用户。在本文中,我们将解释如何通过部署智能合约来添加新应用程序。
部署完成后,我们将访问第一个 URL,这是后端部分,您将看到一个 Azure AD 登录体验,您可以在其中输入您的工作或个人 Microsoft 帐户凭据来访问应用程序。
我们将专注于创建智能合约。一旦智能合约在工作台中实例化,管理员就可以分配用户、部署演示合约和部署自定义合约。
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/ )和 Solidity 插件(https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity
)。
如果我们打开任何示例,会发现它包含两个文件:JSON 文件和 Sol 文件。
本文将使用这个名为 SimpleMarketplace
的示例:
SimpleMarketplace.json 定义了区块链应用程序的配置。
SimpleMarketplace.sol 是用以太坊使用的 Solidity 语言编写的,它允许开发人员创建和更新合约,并通过以下方法实现:ContractCreated()
和 ContractUpdated()
。
我们有一个类似于面向对象语言中的构造函数 WorkbenchBase
,它接收 ApplicationName
和 WorkflowName
作为参数。
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');
}
部署智能合约
此应用程序可以按以下方式在我们的工作台中部署:
- 以管理员身份登录 Azure Blockchain Workbench。
- 选择 Applications > New。此时将显示 New Application 窗格。
- 选择 Upload the contract configuration,然后 Browse 加载配置文件 SimpleMarketplace.json。
- 选择 Upload the contract code,然后 Browse 加载 SimpleMarketplace.sol 文件。
- 选择 Deploy 以创建我们的应用程序。
- 几分钟后,新应用程序将显示在 Applications 中。
我们可以从界面创建更多合约。
相同的界面允许管理员创建更多用户或部署自定义合约。
Azure Blockchain Workbench 允许您集成其他服务,如 Azure Logic Apps、Web APIs、Notification Hubs 等。
结论
在本文中,我们使用了一个现有示例,描述了如何在 Azure Blockchain Workbench 中部署新应用程序。
Azure Blockchain Workbench 使用对业务流程的共享视图,但运行在一个安全且分布式的账本上,它为区块链应用程序搭建了脚手架。