设为首页 收藏本站
查看: 2394|回复: 0

[经验分享] Hyperledger Fabric V1.0 for Centos7.2 开发环境搭建

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-2-23 08:48:05 | 显示全部楼层 |阅读模式
                      区块链技术大有可为,
  安装组件如下:
  1.Docker-compose:Docker 容器管理;   
2.Go lang SDK:Go 语言开发、编译环境;     
3.Git:git 镜像克隆与提交;     
4.Rest Client: rest API 测试;     
容器主要运行有:MemberSrv 和Peer;
  一、HyperLedger Fabric环境准备
  a)检查版本
  $ uname –r
  3.10.0-229.el7.x86_64
  b)更新Centos
  yum update
  c)安装需要软件
  yum install –y  docker gcc gcc-c++
  首先安装epel扩展源:
  sudo yum -y install epel-release
  然后安装python-pip
  sudo yum -y install python-pip
  pip install docker-compose
  docker-compose –v   #查询版本
  yum -y install nodejs npm --enablerepo=epel  #使用epel源安装nodejs及npm
  验证npm安装:
  npm install npm@latest
  查看npm版本:
  npm -v
  
  二、下载源代码并创建Fabric网络
  创建 Fabric 工程和项目目录
  mkdir /opt/fabric
  cd /opt/fabric/
  下载并解压缩部署Fabric网络的相关组件 ,包括Docker Compose 脚本, 通道创建/加入脚本, 认证使用的加密要素等.
  curl -L https://raw.githubusercontent.co ... aster/fabpre.tar.gz -o fabpre.tar.gz 2> /dev/null; tar -xvf fabpre.tar.gz   
wKiom1itYlWxiNvwAAAr8CVPwY0860.jpg
  
  三、使用Docker 创建Fabric网络 & 创建/加入通道(账本)
  1)确保已经下载的docker-compose.yml文件中hyperledger/fabric-ccenv 镜像的标签是 latest,执行命令自动下载Docker镜像
  docker-compose build
  docker images  #确认下载了三个镜像文件成功
   wKiom1itYlbTjf9-AAAlscBMM7o222.jpg
  2)按照docker-compose.yml文件创建Fabric网络,创建通道(正本), 将Peer节点加入通道:
  docker-compose up
  3)查看容器:
  docker ps
   wKiom1itYlezojUtAABZlGFU90o777.jpg
  终端应该显示有6个独立运行的容器(3 个peer节点, 1个 独立的 orderer, CLI 和 CA)
  4)确保通道已成功创建,并且节点都成功加入:
  docker exec -it cli sh   #进入cli容器执行命令
  5)查看通道创建/节点加入的结果:
  cat results.txt
   wKiom1itYljg3XX4AAAhOyYp7j0466.jpg
  6)验证成功创建了创世块,执行如下命令:
  ls -ltr myc1.block
   wKioL1itYliz3RkvAAAMkK5wqYQ341.jpg
  
  四、下载演示程序和SDK 模块
  1)创建案例程序目录
  mkdir –p test
  cd pest
  下载用于部署、调用和查询案例智能合约的 javascript 代码 ,同时,它也包含了node SDK 依赖的模块.
  curl -OOOOOO https://raw.githubusercontent.co ... s/balance-transfer/{config.json,deploy.js,helper.js,invoke.js,query.js,package.json}
  安装node 模块:
  npm install
  现在已经拥有了全部Fabric网络运行需要的组件.
  
  五、使用 node SDK 注册/登录一个用户并执行部署/调用/查询操作  1)注册/登录 & 部署智能合约 (Linux or OSX):
  GOPATH=$PWD node deploy.js
  2)执行一个调用操作. 从 “a” 转移一定资产到 “b”:
  node invoke.js
  3)查询键值 “b”:
  node query.js
  
  
  
  
  
  
  4、firefox中安装POST接口测试工具:
  在firefox的附加组件中下载Restclient插件安装
   wKioL1itYlrhPN8RAAEWynVhElU902.jpg
  重启firefox后,打开RESTClient,进行POST测试
   wKioL1itYlvS_v2rAADGUIia4RU489.jpg
  
  5、系统环境测试:deploy(部署),invoke(调用),query(查询) chaincode(智能合约)(vp0中peer的用户名和密码在 membersrvc.yaml 文件里为jim: 6avZQLwcUe9b)
  已经建成的环境架构,目前Farbric Peer只有一个vp0
   wKiom1itYl7QOiN1AAPw6UPRBww384.jpg
  a)进入vp0容器
  docker-compose exec vp0 bash
  b)login
  CLI方式
  peer network login jim
  输入密码:6avZQLwcUe9b
  Rest方式(在Body中放入如下代码):
  {   
"enrollId": "jim",     
"enrollSecret": "6avZQLwcUe9b"     
}
   wKioL1itYl_BYfxtAABMllKEX18296.jpg
  返回用户已登录。
  c)deploy(部署)
  CLI方式
  CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode deploy -u jim -n mycc -c '{"Args": ["init", "a","100", "b", "200"]}'
   wKiom1itYmCBteDYAACMMu421YM985.jpg
  Rest方式(在Body中放入如下代码):
  {   
}
  d)Invoke(调用)
  CLI方式
  CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode invoke -u jim -l golang -n mycc -c '{"Args": ["invoke", "a", "b", "10"]}'
   wKiom1itYmDCky8MAABhenfW64g314.jpg
  e)query(查询)
  CLI方式
  CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode query –u jim -l golang -n mycc -c '{"Args": ["query", "b"]}'
  CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode query -u jim -l golang -n mycc -c '{"Function": "query", "Args": ["b"]}'
                  


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-345912-1-1.html 上篇帖子: hyper-v虚拟机内为centos6的虚拟机动态扩容硬盘 下篇帖子: Windows Server 2016 中的 Hyper-V新功能-群集节点自动负载均衡 开发
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表