Linux环境下安装和使用Hyperledger Composer
之前我们分享过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相关推荐
- Linux环境下安装nginx
大家好,本篇文章主要讲的是Linux环境下安装nginx教程,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览 1.安装所需环境 //安装gcc yum install gcc-c ...
- 尚学python课程---11、linux环境下安装python注意
尚学python课程---11.linux环境下安装python注意 一.总结 一句话总结: 准备安装依赖包:zlib.openssl:yum install zlib* openssl*:pytho ...
- Linux环境下安装Tigase XMPP Server
Tigase是一种XMPP服务器,可以作为采用XMPP协议的各种IM(Instant Messeging)工具(如Pandion.Spark等)的服务器. 在Linux环境下安装Tigase的步骤如下 ...
- Linux环境下安装RocketMQ(MetaQ)
一:RocketMQ简介 RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: 1.能够保证严格的消息顺序 2.提供丰富的消息拉取模式 3.高效的订阅者水平扩展能力 4.实时的消息订阅机 ...
- linux环境下安装多个任意版本的python环境
linux环境下安装多个任意版本的python环境 安装方法可以归结为 [下载 + 编译 + 配置环境变量] 下载Python Windows下载发送到linux上 step1. 下载linux版本的 ...
- Linux环境下安装Mysql5.7
本文记录下我近期在Linux环境下安装Mysql5.7的实践经历. 服务器版本 Mysql版本 Centos 7.6 5.7.32 1. 下载Mysql 下载地址:https://downloads. ...
- 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. ...
- Linux 环境下安装 GitLab 与配置
什么是 GitLab? GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务. GitLab的功能特点 提供了管理,计划,创建,验证,打 ...
- 服务器Linux环境下安装Matlab2018b
服务器Linux环境下安装Matlab2018b 一.下载Linux版本Matlab2018b 二.上传Matlab2018b镜像 三.安装Matlab2018b 四.激活Matlab 一.下载Lin ...
- Windows重装系统+虚拟机virtuabox安装+ubuntu系统安装+linux环境下安装fsl 一条龙(步步亲测有效)
Windows重装系统+虚拟机virtuabox安装+ubuntu系统安装+linux环境下安装fsl 一条龙 零:综述 一.windows10系统的安装 1.准备工作 2.制作启动盘 3.修改启动设 ...
最新文章
- Web应用中的轻量级消息队列
- 消息 8101,级别 16,状态 1,第 1 行仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'CUSTOMER_TBL'中的标识列指定显式值。...
- 用JAVA写的word模板自动生成引擎
- 【C 语言】二级指针作为输入 ( 指针数组 | 复杂指针解读 )
- 可盈可乐未能连接到服务器,CoinCola可盈可乐 场外OTC平台使用方法
- Cygwin穿越jumper
- K8S_Google工作笔记0002---K8S集群架构组件
- Ranorex中Global变量的使用
- Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决
- linux 内核高端内存意义,Linux内核高端内存管理
- python主要用来做什么-python主要用来做什么
- 不需要英语的计算机行业,北京评职称不再考外语计算机 将涉及300多万人
- C#如何获得屏幕宽度和高度
- (11) python 使用baostock获取历史A股K线数据
- 包含的前缀数目超过了最大值。最大值为 2_「西法带你学算法」一次搞定前缀和...
- (转)H.264 RTP payload 格式
- c#中 utm坐标转换经纬度坐标
- opencv中calcOpticalFlowPyrLK实现的光流法(Lucas-Kanade Method for Sparse Optical Flow)原理解析 (摘要翻译)
- react中使用构建缓存_如何使用React,GraphQL和Okta构建健康跟踪应用
- UDAL 分布式数据库介绍(1)