所有参考资料贴在最后。
1. 概念
Hyperledger Composer 是一个应用程序开发框架,它简化并加快了 Hyperledger Fabric 应用程序[^foot1]的创建。
它包含一组API、一种建模语言和一个编程模型,可以使用它们快速定义和部署业务网络和应用程序,使参与者能执行交易来交换资产。
Composer 编程模型以定义并部署业务网络定义为基础,它包含一个数据模型,该模型定义了业务网络中的资产、参与者和交易的名称与结构。该业务网络还指定了交易处理器函数(ES5 编写),在客户端提交交易时,这些函数会自动在一个 Hyperledger Fabric 上运行。
Composer 定义了 JavaScript API 来提交交易,并在资产注册表中创建、检索、更新和删除资产。
2.前置环境
- Operating Systems: Ubuntu Linux 14.04 / 16.04 LTS (both 64-bit), or
Mac OS 10.12 - Docker Engine: Version 17.03 or higher
- Docker-Compose: Version 1.8 or higher
- Node: 8.9 or higher (note version 9 is not supported)
- npm: v5.x
- git: 2.9.x or higher
- Python: 2.7.x
- A code editor of your choice, we recommend VSCode.
LINUX环境下注意点
- Login as a normal user, rather than root.
- Do not su to root.
- When installing prerequisites, use curl, then unzip using sudo.
- Run prereqs-ubuntu.sh as a normal user. It may prompt for root
password as some of it’s actions are required to be run as root. - Do not use npm with sudo or su to root to use it.
- Avoid installing node globally as root.
总之尽力避免在root模式下操作。
ubuntu直接用官方bash文件完成上述依赖项的安装:
下载脚本文件
curl -O https://hyperledger.github.io/composer/prereqs-ubuntu.sh
修改权限
chmod u+x prereqs-ubuntu.sh
运行脚本文件
./prereqs-ubuntu.sh
3. 安装Hyperledger Composer开发工具
安装composer命令行包
npm install -g composer-cli
安装REST服务器生成包
npm install -g composer-rest-server
使用yeoman及composer应用框架生产包搭建应用:
npm install -g yo
npm install -g composer-rest-server
Yeoman是应用生成工具。generator-hyperledger-composer
是Yeoman plugin。用来为业务网络创建可定制的应用。
4.通过本地Playground链接business network
npm install -g composer-playground
composer-playground
5. 安装Hyperledger Fabric v1.0
mkdir ~/fabric-tools && cd ~/fabric-tools
curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.zip
unzip fabric-dev-servers.zip
或者下载tar.gz file
mkdir ~/fabric-tools && cd ~/fabric-tools
curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.tar.gz
tar xvzf fabric-dev-servers.tar.gz
6. Hyperledger Composer使用
启动Fabric(v1.0.0 ,包含一个orderer, 一个ca,两个peer)+
cd ~/fabric-tools
pull镜像到本地
./downloadFabric.sh
生成Fabric与Composer的连接文件
./startFabric.sh
为正在运行的Hyperledger Fabric的主节点创建一个business network card。
./createPeerAdminCard.sh
停止与拆卸
cd ~/fabric-tools
./stopFabric.sh
./teardownFabric.sh
5. Script 解析
[^foot1]:Hyperledger Fabric 应用程序是一个记录交易历史的共享的、不可变的账本;它将促进新一代的交易应用。