在开始之前需要导出一个自定义变量,方便后续操作:

export FABRIC=/opt/gopath/src/github.com/hyperledger/fabric/devenv

1.在真机上执行如下操作,进入虚拟机

cd $FABRIC
vagrant up//启动虚拟机
vagrant ssh//进入虚拟机

2.在虚拟机中执行如下操作,启动memberserv和peer,并保持该终端的启动,命名为T1

cd /opt/gopath/src/github.com/hyperledger/fabric/yaml
docker-compose -f docker-compose-dev.yaml up

附docker-compose-dev.yaml

membersrvc:image: hyperledger/fabric-membersrvcports:- "7054:7054"command: membersrvc
vp0:image: hyperledger/fabric-peerports:- "7050:7050"- "7051:7051"- "7053:7053"environment:- CORE_PEER_ADDRESSAUTODETECT=true- CORE_VM_ENDPOINT=unix:///var/run/docker.sock- CORE_LOGGING_LEVEL=DEBUG- CORE_PEER_ID=vp0- CORE_PEER_PKI_ECA_PADDR=membersrvc:7054- CORE_PEER_PKI_TCA_PADDR=membersrvc:7054- CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054- CORE_SECURITY_ENABLED=false- CORE_SECURITY_ENROLLID=test_vp0- CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbTlinks:- membersrvccommand: sh -c "sleep 5; peer node start --peer-chaincodedev"

3.新开一个终端,用于启动chaincode程序,保持该终端的开启,命名为T2

cd $FABRIC
vagrant ssh//进入虚拟机
cd /opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02//进入要部署的chaincode所在目录
go build//编译代码,生成chaincode_example02可执行程序
CORE_CHAINCODE_ID_NAME=mycc01 CORE_PEER_ADDRESS=172.17.0.3:7051 ./chaincode_example02//注册chaincode,并为其注册一个名称CORE_CHAINCODE_ID_NAME

返回信息如下:

02:06:56.192 [shim] DEBU : Peer address: 172.17.0.3:7051
02:06:56.197 [shim] DEBU : os.Args returns: [./chaincode_example02]
02:06:56.200 [shim] DEBU : Registering.. sending REGISTER
02:06:56.228 [shim] DEBU : []Received message REGISTERED from shim
02:06:56.229 [shim] DEBU : []Handling ChaincodeMessage of type: REGISTERED(state:created)
02:06:56.229 [shim] DEBU : Received REGISTERED, ready for invocations

4.新开一个终端,用于部署chaincode程序,命名为T3

cd $FABRIC
vagrant ssh//进入虚拟机
CORE_PEER_ADDRESS=172.17.0.3:7051 peer chaincode deploy -n mycc01 -c '{ "Args":["init"]}'//部署chaincode

在T2终端打印:

02:07:10.906 [shim] DEBU : [mycc01]Received message INIT from shim
02:07:10.906 [shim] DEBU : [mycc01]Handling ChaincodeMessage of type: INIT(state:established)
02:07:10.907 [shim] DEBU : Entered state init
02:07:10.907 [shim] DEBU : [mycc01]Received INIT, initializing chaincode
02:07:10.908 [shim] DEBU : [mycc01]Init succeeded. Sending COMPLETED
02:07:10.909 [shim] DEBU : [mycc01]Move state message COMPLETED
02:07:10.909 [shim] DEBU : [mycc01]Handling ChaincodeMessage of type: COMPLETED(state:init)
02:07:10.909 [shim] DEBU : [mycc01]send state message COMPLETED
在T3终端打印:

Deploy chaincode: mycc01

这里返回chaincode id,生产模式下打印的是chaincode对应的hash值

之后就可以进行相应的invoke或者query操作了

转载于:https://www.cnblogs.com/fengxm/p/6015120.html

FABRIC单机开发者模式启动相关推荐

  1. Selenium启动Chrome浏览器提示“请停用以开发者模式运行的扩展程序”的解决办法

    安装了selenium,python运行下面代码: from selenium import webdriverbrowser = webdriver.Chrome() browser.get('ht ...

  2. nacos2.0.0在windows上单机模式启动出现C:\Users\Administrator\AppData\Local\Temp\2\librocksdbjni9761504879862975

    nacos2.0.0在windows上单机模式启动出现 C:\Users\Administrator\AppData\Local\Temp\2\librocksdbjni976150487986297 ...

  3. Zookeeper源码分析:集群模式启动概述

    参考资料 <<从PAXOS到ZOOKEEPER分布式一致性原理与实践>> zookeeper-3.0.0 Zookeeper概述 Zookeeper是一个分布式的,开放源码的分 ...

  4. Chromebook开发者模式Linux,Chromebook 的开发者模式和开发者版本有什么区别?

    如果你刚开始使用 Chromebook,会发现有开发者模式和 Chrome OS 的开发者版本两个不同的说法.你一定会好奇它们是不是一个意思,实际上,并不是. 什么是开发者模式(Developer M ...

  5. JEECG支付服务窗专题 - 支付窗激活开发者模式

    申请支付服务窗,二次开发首先要激活开发者模式 第一步:RSA私钥及公钥生成 window环境,下载生成工具,双击脚本文件""支付宝RAS密钥生成器SHAwithRSA1024_V1 ...

  6. Fabric - chaincode开发模式

    Fabric学习笔记(六) - chaincode开发模式 启动网络 terminal1 cd /opt/gopath/src/github.com/hyperledger/fabric-sample ...

  7. SM-G9008V Root,google框架安装 设置开发者模式

    不小心将自己手机的Root应用弄丢了,没办法获取到root权限,需要重新root,以前Root,修改ro-debuggable=1,刷google框架花费了大量的时间,考虑到以后可能还会遇到今天这种情 ...

  8. Fabric单机多节点网络部署方案

    Fabric单机多节点网络部署方案 在本次单机多节点网络部署时采用与e2e_cli案例类似的方案,即一个排序服务节点与两个组织下的peer节点进行组网,其中每个组织都包含两个peer节点. 本次部署的 ...

  9. 彻底禁用Chrome的“请停用以开发者模式运行的扩展程序”提示

    前言 作为一个前端程序员,难免会有一些专属自己的小扩展,没必要每一个都发到Chrome应用商店去,虽然可以勾选"开发者模式"来运行本地插件,但是每次启动都会有一个烦人的" ...

最新文章

  1. 如何扫描和修复 Linux 磁盘错误
  2. linux看测试环境版本,最新版 EOS 在 Ubuntu 18.04.1 LTS 环境上的安装测试教程
  3. h5新增的属性php,HTML5中form的新增属性或元素
  4. 服务器文件协议,文件服务器协议
  5. nand ubi - 5 kernel和ubi
  6. fprintf函数的用法matlab_极力推荐这个Matlab教程
  7. FreeSql (三十二)Aop
  8. 命名空间中不存在名称_原木定制中不开裂的木材真的存在吗?
  9. 产品经理必须要掌握的12种思维模型
  10. Docker-compose 常用命令
  11. Abp vnext Web应用程序开发教程 8 —— 作者:应用程序层
  12. Tensorflow rnn-word2vec-电影评论
  13. 【综述阅读】Ad hoc网络路由相关的几篇综述
  14. CSS之position解释
  15. htc t528d解锁
  16. 网站死链接是什么,如何检测与提交?
  17. 太阳系行星运行图-java多媒体实验
  18. 小程序设置appId
  19. 中国 / 省市区县 / 四级联动 / 地址选择器(京东商城地址选择)
  20. 工作日报这样写 大老板也挑不出错

热门文章

  1. c语言程序设计整人,C语言进程间通信练习作品 - 整人小程序之剪切板
  2. x86_64 arm制linux-gcc,arm-linux-gcc 制作
  3. (斜率,点和线段)zzuli1196数星星(二)
  4. c# url传参不能包含html标签,c#解析包含HTML特殊字符的字符串XElement
  5. 策略 python_Python版商品期货多品种均线策略
  6. cxgrid 写数据_大线索报道:2020年策划人必备的50个写方案技巧
  7. 计算机原理2408,《计算机组成原理实验》课程教学大纲
  8. php判断有没有登录,请问thinkphp 怎么在每个方法里面判断是否登录?
  9. js 动态创建注释节点 createComment
  10. excel如何去重统计户数_公式解读第三期 单元格中数字如何去重排序?