Hyperledger Composer:创建一个简单的区块链初学者教程


本文介绍如何使用Hyperledger Composer创建简单的区块链应用程序

安装先决条件首先,您必须安装Hyperledger Composer所需的先决条件。您需要安装以下内容:

摘录
- Docker Engine 
- Docker Compose 
- Node
- Npm 
- Git 
- Python 
- 代码编辑器

可在此处找到有关先决条件安装的详细信息:安装先决条件安装开发工具安装先决条件后,我们需要安装应用程序开发所需的不同组件(开发工具)

以下是上述安装开发工具链接中定义的步骤:

1. 安装CLI工具
npm install -g composer-cli@0.20

2.用于在计算机上运行REST Server以生成业务网络的RESTful API的实用程序:
npm install -g composer-rest-server@0.20

3.生成应用程序资产的程序
npm install -g generator-hyperledger-composer@0.20

4. 生成应用程序的Yeamon工具:
npm install -g yo

5.安装playground
npm install -g composer-playground@0.20

6.安装Hyperledger Fabric
在计算机主目录中创建一个fabric-dev-servers的目录,然后进入新创建的目录:
mkdir ~/fabric-dev-servers && cd ~/fabric-dev-servers

7.下载.tar.gz解压放在Hyperledger Fabric下:

curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.tar.gz

或者,如果要下载.zip文件而不是.tar.gz,则可以运行以下命令:
curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.zip

解压缩下载的.tar.gz文件:
tar -xvf fabric-dev-servers.tar.gz
或者,如果已下载.zip文件,则运行以下命令将其解压缩:
unzip fabric-dev-servers.zip 

请记住,您应该在fabric-dev-servers文件夹中:
cd ~/fabric-dev-servers/
pwd /Users/mukeshchapagain/fabric-dev-servers


8. 创建环境变量FABRIC_VERSION
export FABRIC_VERSION=hlfv12

9.下载Hyperledger Fabric v1.2运行包
要下载本地Hyperledger Fabric v1.2 runtime,请运行以下命令:
./downloadFabric.sh


您已成功安装了开发环境所需的所有内容。

启动和停止Hyperledger Fabric

只需确保您位于fabric-dev-servers文件夹中:
cd ~/fabric-dev-servers

运行以下命令以启动Hypeledger Fabric:
./startFabric.sh

运行以下命令以生成PeerAdmin卡:
./createPeerAdminCard.sh

如果要重新启动结构服务器,首先需要将其停止然后再次启动它:
./stopFabric.sh
./startFabric.sh

您也可以拆除Fabric服务器。为此,首先你必须停止Fabric服务器然后拆除它。
./stopFabric.sh
./teardownFabric.sh

如果您拆除Fabric服务器,那么下次启动它时,您必须创建对等管理员卡。因此,在拆除服务器之后,需要运行以下命令才能正确启动它:
./startFabric.sh
./createPeerAdminCard.sh

使用以下命令启动composer playground web app:
composer-playground

Hyperledger Composer Playground提供用户界面,您可以从中创建,部署和测试区块链业务网络。


创建Hypeledger Composer区块链应用程序
在本节中,我们不会使用composer playground。我们将手动创建模型,逻辑和查询文件,并使用命令行创建业务网络。

我们将创建一个商业网络。在我们的区块链解决方案中,我们定义:

- 数据模型
- 事务逻辑
- 访问控制规则

1.生成骨架业务网络

我们将使用Yeoman生成器来创建一个骨架业务网络。以下命令将创建一个包含业务网络所需的所有组件的目录。
yo hyperledger-composer:businessnetwork

确保您在fabric-dev-servers目录中。
pwd /Users/mukeshchapagain/fabric-dev-servers

当您输入Yeoman generator命令时,系统会要求您输入以下内容:

- 输入您的网络名称
- 输入您的网络描述
- 作者姓名,可以是您自己的名称
- 作者电子邮件,可以是您自己的电子邮件地址
- 许可证可以是Apache-2.0 
- 您的网络的命名空间可以是类似org.example的.mynetwork 
- 要求您创建空网络或填充网络。我们将选择填充的网络。填充的网络包含为区块链业务网络自动生成的所有必要文件。

$yo hyperledger-composer:businessnetwork
Welcome to the business network generator
? Business network name: my-business-network
? Description: My Blockchain Business Network
? Author name:  Mukesh Chapagain
? Author email: mukesh.chapagain@example.com
? License: Apache-2.0
? Namespace: org.example.mynetwork
? Do you want to generate an empty template network? No: generate a populated sample network
   create package.json
   create README.md
   create models/org.example.mynetwork.cto
   create permissions.acl
   create .eslintrc.yml
   create features/sample.feature
   create features/support/index.js
   create test/logic.js
   create lib/logic.js

5. 定义业务网络
区块链业务网络由以下组成:
- 资产
- 参与者
- 访问控制规则
- 事件(可选)
- 查询(可选)

业务网络中的一些重要文件是:
Model(

[b]models/org.example.mynetwork.cto[/b]

- 包含所有助手,参与者和交易的类定义

更详细步骤见原文