admin管理员组文章数量:1602102
在 Win7 环境使用 Docker Images模拟 IBM Bluemix Blockchain Service
作者:陳兆麟
Email:chenlin2@ms9.hinet
在开发区块链 (blockchain) 应用系统时,一定是先在本机测试完毕后再上传至云端平台;本机测试可有两种方法:(1)本机安装 hyperledger/fabric source code(参考文獻[2],除了开发应用app,还可以修改hyperledger/fabric 源码)。(2)使用hyperledger/fabric docker images (仅用于开发应用app)。学生适用第一项 (可深入理解 hyperledger/fabric) ,企业适用于第二项 (安装简单,容易建立 blockchain app开发环境);以下网址范例是以 docker images 建立本机 blockchain 开发环境,并以 IBM marblrs(参考文獻[3]) 做为测试范例。
開發環境:Win7 (64 bit, RAM >=8G) , Docker Toolbox , blockchain
1. win7 安装 cygwin (https://cygwin/install.html)
将安装之执行文件目录 (C:\cygwin64\bin) 设定在控制台系统 path 变量
2. 参考附录 (1) 在 Win7安装 Docker Toolbox (安装最新版)
(Win 10 可直接安装 Docker 请参考附录2 )
3. 桌面点选 (Docker Quickstart Terminal)
$ docker -v
Docker version 1.12.0, build 8eab29e
$ docker-machine ls (Docker Quickstart Terminal接口执行,确认虚拟机default 已安装)
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default virtualbox Running tcp://192.168.99.100:2376 v1.10.3
$ docker-machine env default
SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\user\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
REM Run this command to configure your shell:
REM FOR /f "tokens=*" %i IN ('docker-machine env default') DO %i
$ FOR /f “tokens=*” %i IN (‘docker-machine env default’) DO %i
$ docker-machine ls (确定虚拟机已经启动)
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.10.3
4. 使用 putty (附录 3) 登录 default VM (username: docker,password:tcuser)
5. 建立 blockchain network vp0,vp1
安装 docker-compose (https://docs.docker/compose/install/)
$sudo -i
$
curl -L “https://github/docker/compose/releases/download/1.8.1/docker-compose-$
(uname -s)-$
(uname -m)” > /usr/local/bin/docker-compose
$
chmod +x /usr/local/bin/docker-compose
$
exit
$
cd /c/Users/user
$
git clone https://github/IBM-Blockchain/marbles.git
(下载范例 marbles )
修正 Dockerfile,docker-compose.yaml,app.js, mycreds.json (参考附录 4)
$
cd marbles; mkdir peer; cd peer
$
vi docker-compose.yaml
$
docker-compose up (启动 vp0 vp1 container)
$
docker ps (验证 vp0, vp1 已启动)
1c1d1ba037b1 hyperledger/fabric-peer peer_vp1_1
d94012517013 hyperledger/fabric-peer peer_vp0_1
6. 观察 peer_vp1_1, peer_vp0_1 之container IP
$
docker exec -it peer_vp0_1 bash
$
ifconfig (记录 ip)
7. 启动 marble App container
$
cd /c/Users/user/marbles
$
vi mycreds.json (依据前项更换 vp0 vp1 IP)
编辑 Dockerfile , docker-compose.yaml (参考附录 4)
$
docker-compose build
$
docker-compose up (请关闭窗口不必要程序)
若出现以下错误删除 marrble container,重复执行 docker-compose up
$ docker ps -a
$docker rm -f marblesdocker_web_1
8. marble APP 启动成功显示如下 container ( container将记录执行过程)
$docker ps
9. 浏览器输入http://192.168.99.100:3000,(192.168.99.100 default VM 之 IP)点选 CREATE (每一步骤代表transaction)
10. 选择 颜色,大小,使用者 => create
11.将Bob’s 之 marble 拖曳置至 Leroy’s
12. 将 Red Mable 拖曳至垃圾桶
13. 浏览器输入http://localhost:3000/p2, (2 peer) 点选 CREATE
Bob 及 Leroy 可建立自己的 marble 并拖曳至另不同 user, 且user可以所持 marble 交易不同颜色的 marble。
14. 指定 User 为 BOB 将 white marble 拖曳至 Leroy’s (非 BOB 无法拖曳)
15. 在 BOB 之下点选 TRADE (交易 marbles 使用)
16. 选择交易对象
17. 显示正在等待的交易,点选 x (删除等待的交易)
18.正在等待的交易将消失
若将 Bob之 red marble 拖曳至垃圾桶, 正在等待的交易也会消失
19. 本例可修改为夺宝游戏
a 可增加参与者人数 ( 2 -> 5)
b 建立宝藏库, marble可改为宝物, 每一种宝物都有不同颜色组合, 根据 user所付出劳务的多寡,可至宝藏库换得不同价值的宝物.相同宝物不同颜色全拿,可至宝藏库交换更高价值的宝物,也可与其它参与者交换。
c 参予者不积极参与游戏,先前的宝物,将自动退还至宝藏库,积极度的计算与目前所获宝物价值有关,所获宝物愈多,积极度愈严格 (一定时间未取得相对应。
d 等级宝物就需退回原有取得之宝物;当所有宝物都被退回,即中止该user 参与取宝游戏)。
20. 夺宝游戏可应用在广告代理商, user 所看广告多寡视为劳务支出,夺宝冠军后可向代理商得现金作为报酬;游戏与个人能力无关; user只要肯花时间看广告就能取得报酬。
附录:
1.Win7 安装Docker Toolbox:
https://www.docker/products/docker-toolbox
http://knight-.iteye/blog/2254627
http://rominirani/2015/08/15/docker-toolbox-setup-windows/
https://getcarina/docs/troubleshooting/troubleshooting-windows-docker-vm-startup/
http://dockone.io/article/594
2.Win 10 安装Docker
http://blog.miniasp/post/2016/08/01/Docker-for-Windows-1-12-Released.aspx
3.putty安装及使用:
http://www.chiark.greenend.uk/~sgtatham/putty/download.html
http://download.ithome.tw/article/index/id/1649
4.docker 组态档设定
marbles:Dockerfile,docker-compose.yaml, mycreds.json, app.js
marbles/peer:docker-compose.yaml
可经以下网址内容修正后可得
https://1drv.ms/b/s!AkBmzWP0h-VxghIk2nyUNi8vNtiC
https://1drv.ms/b/s!AkBmzWP0h-VxgVV8ldGqidoa4tn9
企业若需要协助请私讯我
5.陈兆麟 facebook
https://zh-cn.facebook/chaolin.chen.18
參考文獻:
1.https://github/IBM-Bluemix/bluechatter
2.http://blog.csdn/chenjaulin/article/details/52803480
3.https://github/IBM-Blockchain/marbles
4.http://ict.dst.ibm/files/CLD9404.pdf
5.https://hub.docker/r/reachlin/bluemix/
6.https://developer.ibm/answers/questions/190436/ice-login-error.html
7.http://dockone.io/article/594
8.https://www.youtube/watch?v=i7_dQQy40ZQ&feature=youtu.be
9.https://1drv.ms/b/s!AkBmzWP0h-VxggcKD76DVuLZ92ky
10.https://1drv.ms/f/s!AkBmzWP0h-Vxbr7h1uTNsTMcPWI
11.https://1drv.ms/b/s!AkBmzWP0h-VxazOBOsVz8nGMLpM
12.https://1drv.ms/b/s!AkBmzWP0h-VxbLK7FOjH9IL5HHc
13.https://www.youtube/watch?v=24JAF9Eu1mk&list=UUOTZe-b_jE_Ovy9K9UhZ4BA&index=74
14.https://www.youtube/watch?v=wSmJ-rwUo8I&list=UUOTZe-b_jE_Ovy9K9UhZ4BA&index=73
15.https://www.youtube/watch?v=SOsn6MvGH60&list=UUOTZe-b_jE_Ovy9K9UhZ4BA&index=72
本文标签: 环境ImagesDockerBlockChainService
版权声明:本文标题:在 Win7 环境使用 Docker Images模拟 IBM Bluemix Blockchain Service 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728393200a1156826.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论