之前我们分享过Hyperledger Fabric在Linux环境下的搭建和使用(——Linux环境下搭建Hyperledger Fabric(附流程代码))。不过Fabric实在是太底层,安装和使用都相对繁琐,并且官方文档又缺乏一个tutorial类型的文档,初学的时候觉得难以上手。好在Hyperledger项目组还创建了Composer这个工程,用户方便的搭建Fabric的网络以及开发环境,本篇我们将分享这个组件的安装和使用。

NOTE: 尽管实际开发和使用中推荐Composer,但是初次接触Fabric的时候,还是建议先阅读Fabric的官方文档,了解整个网络的组成的架构,再看这个组件。

1

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使用。

2

Fabric安装

安装Fabric(没错,你没看错,Composer里面就带一个Fabric的开发环境搭建脚本):

mkdir ~/fabric-dev-servers && cd ~/fabric-dev-serverscurl -s https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.tar.gz | tar zxvf -./downloadFabric.sh
复制代码

之后脚本便会下载几个Fabric相关的docker镜像。

3

启动Fabric网络

然后就可以用脚本快速启动docker容器了:

./createPeerAdminCard.sh

最后用composer-playground命令就可以启动一个webapp Playground应用,访问localhost:8080即可打开:

在这里,我们可以进行创建商业网络,连接区块链节点,访问钱包等等一系列商业操作。官方文档有比较详细的演示,通过这个演示,可以快速熟悉Fabric网络的整套流程。

4

总  结

可以看到相比枯燥的Fabric上手文档来说,Composer的文档就对开发者友好太多了,而且提供环境搭建脚本,方便开发者快速上手启用,最后还有一个友好的webapp应用帮助开发者对Fabric网络有一个感性的认识。

Composer是一系列cli工具的合集,对开发比较友好。后期我们将从Composer入手,逐步研究Fabric。

本文作者:HiBlock区块链技术布道群-冯宇Ops

原文发布于简书

加微信baobaotalk_com,加入技术布道群

线下活动推荐

技术沙龙|解读以太坊与那些不是公链的公链(重庆)

技术沙龙|别把牛皮吹破,区块链落地的可能与谬论大讨论(深圳)

技术沙龙|风口之下,经验丰富的“传统开发者”要不要转型区块链开发?(西安)

识别下图二维码回复城市名,即可获得报名地址。

Linux环境下安装和使用Hyperledger Composer相关推荐

  1. Linux环境下安装nginx

    大家好,本篇文章主要讲的是Linux环境下安装nginx教程,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览 1.安装所需环境 //安装gcc yum install gcc-c ...

  2. 尚学python课程---11、linux环境下安装python注意

    尚学python课程---11.linux环境下安装python注意 一.总结 一句话总结: 准备安装依赖包:zlib.openssl:yum install zlib* openssl*:pytho ...

  3. Linux环境下安装Tigase XMPP Server

    Tigase是一种XMPP服务器,可以作为采用XMPP协议的各种IM(Instant Messeging)工具(如Pandion.Spark等)的服务器. 在Linux环境下安装Tigase的步骤如下 ...

  4. Linux环境下安装RocketMQ(MetaQ)

    一:RocketMQ简介 RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: 1.能够保证严格的消息顺序 2.提供丰富的消息拉取模式 3.高效的订阅者水平扩展能力 4.实时的消息订阅机 ...

  5. linux环境下安装多个任意版本的python环境

    linux环境下安装多个任意版本的python环境 安装方法可以归结为 [下载 + 编译 + 配置环境变量] 下载Python Windows下载发送到linux上 step1. 下载linux版本的 ...

  6. Linux环境下安装Mysql5.7

    本文记录下我近期在Linux环境下安装Mysql5.7的实践经历. 服务器版本 Mysql版本 Centos 7.6 5.7.32 1. 下载Mysql 下载地址:https://downloads. ...

  7. Linux环境下安装单实例MySQL 5.7

    一.安装环境 1.操作系统版本:CentOS 7.5 2.MySQL版本:5.7.22(社区版) 3.MySQL安装包:mysql-5.7.22-linux-glibc2.12-x86_64.tar. ...

  8. Linux 环境下安装 GitLab 与配置

    什么是 GitLab? GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务. GitLab的功能特点 提供了管理,计划,创建,验证,打 ...

  9. 服务器Linux环境下安装Matlab2018b

    服务器Linux环境下安装Matlab2018b 一.下载Linux版本Matlab2018b 二.上传Matlab2018b镜像 三.安装Matlab2018b 四.激活Matlab 一.下载Lin ...

  10. Windows重装系统+虚拟机virtuabox安装+ubuntu系统安装+linux环境下安装fsl 一条龙(步步亲测有效)

    Windows重装系统+虚拟机virtuabox安装+ubuntu系统安装+linux环境下安装fsl 一条龙 零:综述 一.windows10系统的安装 1.准备工作 2.制作启动盘 3.修改启动设 ...

最新文章

  1. Web应用中的轻量级消息队列
  2. 消息 8101,级别 16,状态 1,第 1 行仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'CUSTOMER_TBL'中的标识列指定显式值。...
  3. 用JAVA写的word模板自动生成引擎
  4. 【C 语言】二级指针作为输入 ( 指针数组 | 复杂指针解读 )
  5. 可盈可乐未能连接到服务器,CoinCola可盈可乐 场外OTC平台使用方法
  6. Cygwin穿越jumper
  7. K8S_Google工作笔记0002---K8S集群架构组件
  8. Ranorex中Global变量的使用
  9. Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决
  10. linux 内核高端内存意义,Linux内核高端内存管理
  11. python主要用来做什么-python主要用来做什么
  12. 不需要英语的计算机行业,北京评职称不再考外语计算机 将涉及300多万人
  13. C#如何获得屏幕宽度和高度
  14. (11) python 使用baostock获取历史A股K线数据
  15. 包含的前缀数目超过了最大值。最大值为 2_「西法带你学算法」一次搞定前缀和...
  16. (转)H.264 RTP payload 格式
  17. c#中 utm坐标转换经纬度坐标
  18. opencv中calcOpticalFlowPyrLK实现的光流法(Lucas-Kanade Method for Sparse Optical Flow)原理解析 (摘要翻译)
  19. react中使用构建缓存_如何使用React,GraphQL和Okta构建健康跟踪应用
  20. UDAL 分布式数据库介绍(1)

热门文章

  1. 【C++】双边滤波器(bilateral filter)
  2. python(3)-内置函数2
  3. TCP/IP模型各个层次的功能和协议
  4. 跟我从零基础学习Unity3D开发--NGUI入门基础
  5. hdu 4314 Save the dwarfs
  6. win7 IIS7 HTTP 错误 404.2 - Not Found的解决方法
  7. node.js如何制作命令行工具(一)
  8. 分布式作业 Elastic Job 如何动态调整?
  9. Web系统Login拦截器
  10. 第四次作业(1、2小题)