使用 Cloudsoft AMP 部署 Hyperledger/fabric App & Validating Peers & Chaincode
作者:陳兆麟
Email:chenlin2@ms9.hinet.net
当在本机virtualbox单一VM 开发 Hyperledger/fabric App 应用系统後, 可使用Cloudsoft AMP 將其移至其它云端平台 (IBM, Microsoft, Amazon,google); Cloudsoft AMP 也提供 user在本机使用 Virtualbox 部署多个 VM 的选择 (byon), user可利用此一选择,测试部署程序,当 App & chaincode部署至本机 VM 执行无误后,再移至云端平台执行;以下范例是使用 Cloudsoft AMP Byon 方案在本机 virtualbox 多个 VM 环境下部署及执行 Hyperledger/fabric App。。
开发环境: Win7 (64 bit, RAM >=8G) , vagrant , virtualbox, docker,golang
1. win7 安装 cygwin (https://cygwin.com/install.html)
将安装之执行文件目录 (C:\cygwin64\bin) 设定在控制台系统 path 变量
在 cygwin新增rsync & openssl 套件 (参考附录 1)
2. win7安装 putty (参考附录 2)
3. win7 安装 git (https://git-scm.com/downloads)
4. win7 安装 virtualbox 5.10 (http://download.virtualbox.org/virtualbox/5.0.10/)
5. win7 安装 vagrant 1.9 (https://releases.hashicorp.com/vagrant/)
vagrant 与 virtualbox 版本必须对应
6. 在 window 命令提示 (shell) 输入:
$ git clone https://github.com/cloudsoft/brooklyn-hyperledger.git
$ cd brooklyn-hyperledger
$ vi install/install-amp-local.sh (将install-amp-local.sh最后一行批注)
$ vagrant up
$ bash install/install-amp-local.sh
$ cd amp-vagrant
更新 servers.yaml (参考附录 3)
$vagrant up (在virtualbox安装 VM)(amp, byon1,byon2,byon3,byon4,byon5)
7. 启动 Chrome UI 控制接口:http://10.10.10.100:8081,点选 [Classic UI]
(username:admin,password:password)
8. 指定要部署的虚拟机器
9. 填写虚拟主机 ip IP (10.10.10.101~10.10.10.105),点选 [save]
10. 建立样板:指定要在虚拟主机执行的软件 (docker, hyperledger/fabric)
brooklyn.catalog:
items:
- https://raw.githubusercontent.com/cloudsoft/brooklyn-hyperledger/master/docker.bom
- https://raw.githubusercontent.com/cloudsoft/brooklyn-hyperledger/master/catalog.bom
11. 将 (docker,fabric) 部署至虚拟主机 (选择 Hyperledger Fabric Single cluster)
12. 选择部署样板 locations (步骤 9) ,点选 Deploy,需要 30 ~ 40 分钟
13.查询 CLI Node host address 10.10.10.101
14. 点选 putty 进入 byon1 虚拟机 (user:vagrant, password:vagrant)
$sudo docker ps (显示 peer, membersevc container)
15点选 putty 再启动另一 terminal 进入 byon2 (IP:10.10.10.102)
$ ps aux |grep peer (显示 VP 已被建立), byon3 ~byon5 同 byon2
16. 在 byon1 启动范例程序 (Picasso资产拥有者将由 Alice转移至Dave)
现任拥有者才有权将Picasso资产转移给他人。
$sudo docker exec -it cli bash
$cd $APP_HOME
$go build
$./app
17. 检验 chaincode 已部署至 byon2 ~byon5,登录至 byon2。
$sudo docker ps (peer 已启动chaincode 以container (194febae4429) 形式执行
18. 可使用 postman REST API观察系统超级账本 (hyperledger) block之变化。
19. 本实验会用到大量的 RAM, 建议在 Window系统执行时关闭背景程序,以确保系统稳定。
20. 若范例在 Virtual box 的虚拟机执行无误,则可在各大厂云端平台建立相同
虚拟机器以上述方式执行,请参考: https://youtu.be/0HYzxmnP3bA
附录:
1.cygwin 新增套件方法
http://blog.faq-book.com/?p=3378
2.Win7 安装 putty
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
http://download.ithome.com.tw/article/index/id/1649
3.更新步骤 6之 server.ymal 网址
https://1drv.ms/u/s!AkBmzWP0h-VxgjENbZ_8ffOG287d
4.陈兆麟 facebook
https://zh-cn.facebook.com/chaolin.chen.18
參考文獻:
1.https://github.com/cloudsoft/brooklyn-hyperledger
2.http://cloudsoft.io/blog/amp-hyperledger-blockchain
4.https://youtu.be/0HYzxmnP3bA
5.http://cloudsoft.io/blog/2016/12/7/hyperledger-member-summit
6.http://cloudsoft.io/events/interconnect-2017
7.http://cloudsoft.io/blog/ondemand-distributed-hyperledger-fabric-cluster-with-cloudsoft-amp
8.http://docs.cloudsoft.io/tutorials/tutorial-get-amp-running.html#add-a-location
11.https://1drv.ms/b/s!AkBmzWP0h-VxgiNwUiHW82GAxECg
12.https://1drv.ms/f/s!AkBmzWP0h-Vxbr7h1uTNsTMcPWI
13.https://1drv.ms/b/s!AkBmzWP0h-VxazOBOsVz8nGMLpM
14.https://1drv.ms/b/s!AkBmzWP0h-VxbLK7FOjH9IL5HHc
15.https://www.youtube.com/watch?v=24JAF9Eu1mk&list=UUOTZe-b_jE_Ovy9K9UhZ4BA&index=74
16.https://www.youtube.com/watch?v=wSmJ-rwUo8I&list=UUOTZe-b_jE_Ovy9K9UhZ4BA&index=73
17.https://www.youtube.com/watch?v=SOsn6MvGH60&list=UUOTZe-b_jE_Ovy9K9UhZ4BA&index=72