之前我们分享过Hyperledger Fabric在Linux环境下的搭建和使用。不过Fabric实在是太底层,安装和使用都相对繁琐,并且官方文档对这玩意缺乏一个tutorial类型的文档,初学的时候觉得难以上手。不过Hyperledger项目组还算是良心,创建了Composer这个工程,用户方便的搭建Fabric的网络以及开发环境,本篇我们将分享这个组件的安装和使用。
NOTE: 尽管实际开发和使用中推荐Composer,但是初次接触Fabric的时候,还是建议先阅读Fabric的官方文档,了解整个网络的组成的架构,再看这个组件。
Composer的安装
需要注意的是尽管Fabric理论上可以支持Windows, Linux, Mac OS三种操作系统上运行,但是Composer目前支持Linux系统和Mac OS系统,是不支持Windows的。使用的时候注意操作系统环境。
这个安装过程就比较简单了,我依旧使用的是Ubuntu 16.04操作系统安装。
Composer安装前需要有node + npm环境,以及Docker环境,官方提供了一个简易的安装脚本一键安装依赖:
curl -s https://hyperledger.github.io/composer/latest/prereqs-ubuntu.sh | bash
这个脚本会帮我们安装好git
,docker
,node
,npm
,python 2.7
依赖(需要注意的是node+npm是采用nvm脚本安装方式安装的)。如果读者熟悉Ubuntu的包管理器,也可以手动安装这些依赖。之前如果安装Fabric的运行环境,其实只需要安装一个node
+npm
的环境就够了。
接下来只需要用npm
安装Composer的几个命令行工具即可,注意不要使用root用户安装命令,也不要用root身份运行命令:
$ npm install -g composer-cli composer-rest-server generator-hyperledger-composer yo composer-playground
分别介绍下这几个组件的作用:
-
composer-cli
: composer基本的cli接口 -
composer-rest-server
: 在本机启动一个REST服务端,以REST API形式暴露商业网络 -
generator-hyperledger-composer
: 产生应用模板的脚手架 -
yo
: Yeoman是产生应用程序模板的工具,被generator-hyperledger-composer
依赖 -
composer-playground
: 可选依赖,在本地启动一个Playground webapp应用,可以做本地开发和演示的简易UI端。
此外,对于VSCode
的用户也可以在应用市场安装Hyperledger Composer
扩展,以便扩展VSCode作为开发的IDE使用。
Fabric安装
安装Fabric(没错,你没看错,Composer里面就带一个Fabric的开发环境搭建脚本):
mkdir ~/fabric-dev-servers && cd ~/fabric-dev-servers
curl -s https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.tar.gz | tar zxvf -
./downloadFabric.sh
之后脚本便会下载几个Fabric相关的docker镜像。
启动Fabric网络
然后就可以用脚本快速启动docker容器了:
$ ./startFabric.sh
$ ./createPeerAdminCard.sh
最后用composer-playground
命令就可以启动一个webapp Playground应用,访问localhost:8080即可打开:
在这里,我们可以进行创建商业网络,连接区块链节点,访问钱包等等一系列商业操作。官方文档有比较详细的演示,通过这个演示,可以快速熟悉Fabric网络的整套流程。
总结
可以看到相比枯燥的Fabric上手文档来说,Composer的文档就对开发者友好太多了,而且提供环境搭建脚本,方便开发者快速上手启用,最后还有一个友好的webapp应用帮助开发者对Fabric网络有一个感性的认识。
Composer是一系列cli工具的合集,对开发比较友好。后期我们将从Composer入手,逐步研究Fabric。