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按鈕。注意小版本號可以修改的。因爲鏈碼修改只能通過升級這種方式來完成。