Composer是Hyperleder的子项目。用来开发布署智能合约,开发流程如下
开发环境必备软件:
Operating Systems: Ubuntu Linux 14.04 / 16.04 LTS (both 64-bit), orMac 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
自动安装脚本
对于mac跟ubuntu用户可以采取以下方式安装必备环境.注意,用非root用户安装
curl -Ohttps://hyperledger.github.io/composer/latest/prereqs-ubuntu.sh
chmod u+x prereqs-ubuntu.sh
./prereqs-ubuntu.sh
安装composer组件(0.19版)
Essential CLI tools:
1) npm install -g composer-cli (uninstall)
Utility for running a REST Server on your machine to expose your business networks as RESTful APIs:
2) npm install -g generator-hyperledger-composer (非必装 )
Yeoman is a tool for generating applications, which utilises generator-hyperledger-composer:
3)
npm install -g composer-rest-server
4) npm install -g yo (非必装)
5) npm install -g composer-playground (生产环境可不装)
也可以指定版本安装 如:npm install -g [email protected] 其它composer类推
安装fabric(生产环境不装)
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 -xvf fabric-dev-servers.tar.gz
cd ~/fabric-tools
./downloadFabric.sh //下载镜像 当前是fabric1.1的相关镜像
找到其中的脚本并执行 createPeerAdminCard.sh 会自动创建一个PeerAdmin.card 配置了管理员权限,可以发布合约
启动composer开发环境
cd ~/fabric-tools
./startFabric.sh //启动fabric容器
./createPeerAdminCard.sh ( --host 10.122.2.24) 参数可选
composer-playground
好了,启动 composer-playground ,服务端口默认8080 .可以进入开发模式了
打开流览器http://xxxx:8080显示如下
1,playground 的Web Browser区域提供了在页面定义模型、测试模型的能力。即代码编写区和简单测试区。但可以导出bna文件并可以在 connection hlfv11区进行合约布署
2,connection区域提供了在开发环境布署合约,会生成一个智能合约的docker运行环境.
3,可以在上图中上部分的My Business Networks 工作区点击虚业部分Deploy a new business network
4,在接下来页面中选中一个示例。如 marble neetworkd. 选择 ID and Secret 填入admin 和 adminpw
5,点击Deploy按钮后会发布一个合约.并跳到测试页如下图:
6,在上图中 Test Tab页可以进行测试 ,在Define Tab页可以导出bna文件.
7,在第一幅图中点击下载按钮,会下载一个 .card文件,描述了连接fabric peer节点等相关连接信息.记得要导入 PeerAdmin@hlfv1的card和你自己测试用的card,及bna文件
8,执行 card import -f admin.card composer card list 可以查看你导入的card信息.
9,composer-rest-server -c admin@empty-business-network -n always -w true 启动rest服务默认端口3000.
10,好了,可以体验一下fabric是个什么玩意了。
后记:博客从blogjava.net/fool搬家到csdn.就几天功夫composer有了很多版本,并且最新版本用的fabric1.1 因为调整了一点.
补充:在 connection hlfv11区导入开发好的bna文件后点击deploy,这是会发布链码合约到开发环境 。这里面也是可以修改代码的,
并且在左下角有个upgrade按钮。注意小版本号可以修改的。因为链码修改只能通过升级这种方式来完成。