如何使用Hyperledger Fabric和Composer构建区块链网络

如何使用Hyperledger Fabric和Composer构建区块链网络,这是一个区块链开发入门人员的教程。在开始之前要说明Hyperledger Fabric仅在基于Unix的操作系统上运行。因此,它将无法在Windows上运行,这将对你可以执行的操作进行限制。如果你在继续操作之前运行Windows,我建议你设置虚拟机。

本文假设你有一些Javascript知识。它不是针对初学者程序员的教程,而是针对区块链领域初学者的程序员。

我们在建什么?

那么,你想建立一个区块链应用程序,但不知道从哪里开始?别担心。通过本教程,我们将建立一个交易卡网络。拥有棒球,足球和板球运动员的TradingCard的不同Trader将能够相互交易卡。

我们还将设置REST API服务器,以允许客户端软件与我们的业务网络进行交互。 最后,我们还将生成一个Angular 4应用程序,该应用程序使用REST API与我们的网络进行交互。

你可以在Github中找到我们要构建的完整最终代码。

你准备好开始了吗?

目录

  • Hyperledger Fabric及相关应用程序简介。
  • 安装先决条件,工具和Fabric运行时。
  • 创建和部署我们的业务网络。
  • 测试我们的业务网络。
  • 生成REST API服务器。
  • 生成使用REST API的Angular应用程序。
Hyperledger Fabric及相关应用程序简介

Hyperledger的开发环境概述

Hyperledger Fabric是一个开源框架,用于制作私有(许可)区块链业务网络,其中成员的身份和角色为其他成员所共知。基于Fabric的网络作为后端,开发具有客户端应用程序的前端。SDK可用于Nodejs和Java来构建客户端应用程序,很快就会支持Python和Golang。

Hyperledger Composer是一组基于Javascript的工具和脚本,可简化Hyperledger Fabric网络的创建。使用这些工具,我们可以为我们的网络生成业务网络存档(BNA) 。Composer广泛涵盖了这些组件:

  • 业务网络档案(BNA)
  • Composer Playground
  • Composer REST服务器

Business Network Archive(BNA)——Composer允许我们打包几个不同的文件并生成一个存档,然后可以将其部署到Fabric网络上。要生成此存档,我们需要:

  • 网络模型:网络中存在的资源的定义。这些资源包括资产,参与者和交易。我们稍后会回到这些内容。
  • 业务逻辑:交易功能的逻辑。
  • 访问控制限制:包含定义网络中不同参与者权限的各种规则。这包括但不限于定义参与者可以控制的资产。
  • 查询文件(可选):可以在网络上运行的一组查询。这些可以被认为与SQL查询类似。你可以在此处阅读有关查询的更多。

Composer Playground是一个基于Web的用户界面,我们可以使用它来建模和测试我们的业务网络。Playground适用于简单的概念证明建模,因为它使用浏览器的本地存储来模拟区块链网络。但是,如果我们运行本地Fabric运行时并为其部署了网络,我们也可以使用Playground访问它。在这种情况下,Playground不会模拟网络,它直接与本地Fabric运行时通信。

Composer REST Server是一个允许我们根据业务网络定义生成REST API服务器的工具。客户端应用程序可以使用此API,并允许我们在网络中集成非区块链应用程序。

安装先决条件,工具和Fabric运行时

1.安装Prereqs

既然我们对构建这些网络所需的内容有了高度的了解,那么我们就可以开始开发了。但是,在我们这样做之前,我们需要确保在系统上安装了先决条件。可以在此处找到更新的列表。

  • Docker Engine和Docker Compose
  • Nodejs和NPM
  • Git
  • Python 2.7.x

对于Ubuntu用户,Hyperledger有一个bash脚本可以使这个过程变得非常容易。在终端中运行以下命令:

curl -O https://hyperledger.github.io/composer/latest/prereqs-ubuntu.sh
chmod u+x prereqs-ubuntu.sh
./prereqs-ubuntu.sh

不幸的是,Mac用户必须手动安装上述工具,并确保他们拥有系统的所有先决条件。此页面随安装说明保持最新。

2. 安装工具以简化开发

在终端中运行以下命令,并确保在运行npm命令时不使用sudo。

npm install -g composer-cli
npm install -g composer-rest-server
npm install -g composer-playground
npm install -g yo generator-hyperledger-composer

composer-cli是唯一必不可少的包。其余的不是核心组件,但随着时间的推移会变得非常有用。我们将了解更多关于每个人在遇到它们时所做的事情。

3. 安装本地Hyperledger Fabric运行时

mkdir ~/fabric-dev-servers
cd ~/fabric-dev-servers
curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.tar.gz
tar -xvf fabric-dev-servers.tar.gz
export FABRIC_VERSION=hlfv12
./downloadFabric.sh
./startFabric.sh
./createPeerAdminCard.sh

让我们看看命令,看看它们的含义。首先,我们制作并输入一个新目录。然后,我们下载并解压缩安装Hyperledger Fabric所需的工具。

然后我们指定我们想要的Fabric版本,在编写本文时我们需要1.2,因此hlfv12。然后,我们下载结构运行时并启动它。

最后,我们生成一个PeerAdmin卡。Fabric网络中的参与者可以拥有商业卡,类似于现实生活中的名片。正如我们之前提到的,Fabric是私有区块链构建的基础层。PeerAdmin名片的持有者有权在此Fabric运行时(也就是你!)上部署,删除和管理业务网络。

如果一切顺利

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值