本例中使用的官方提供的fabric-sample案例,在该网络中,cli客户端能够直接调用chaincode,在实际开发环境中,cli不允许直接调用chaincode,只有peer结点才能运行chaincode,该环境适用于调试开发环节。
在配置过程中遇到的问题可以参考另一篇博客,总结了我遇到的部分问题和解决方法
https://blog.csdn.net/tianlongtc/article/details/80861804

在运行之前,请确保系统环境已经配置好。包括go, nodejs, docker等等配置。

打开三个终端,分别为终端1,终端2, 终端3

终端1

1、下载hyperledger fabric sample源码

git clone https://github.com/hyperledger/fabric-samples.git

2、进入fabric-sample目录

cd fabric-samples

3、下载二进制文件

curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0

4、进入devmode目录

cd chaincode-docker-devmode

5、修改配置文件

vim docker-compose-simple.yaml

将 cli 和 chaincode 的 tty 注释掉

cli:
container_name: cli
image: hyperledger/fabric-tools
# tty: true
environment:
- GOPATH=/opt/gopath
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ID=cli
- CORE_PEER_ADDRESS=peer:7051
- CORE_PEER_LOCALMSPID=DEFAULT
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp
working_dir: /opt/gopath/src/chaincodedev
command: /bin/bash -c ‘./script.sh’
volumes:
- /var/run/:/host/var/run/
- ./msp:/etc/hyperledger/msp
- ./../chaincode:/opt/gopath/src/chaincodedev/chaincode
- ./:/opt/gopath/src/chaincodedev/
depends_on:
- orderer
- peer

chaincode:
container_name: chaincode
image: hyperledger/fabric-ccenv
# tty: true
environment:
- GOPATH=/opt/gopath
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ID=example02
- CORE_PEER_ADDRESS=peer:7051
- CORE_PEER_LOCALMSPID=DEFAULT
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp
working_dir: /opt/gopath/src/chaincode

6、启动网络

docker-compose -f docker-compose-simple.yaml up

终端2

1、进入fabric-sample目录
2、启动chaincode

docker exec -it chaincode bash

3、编译链码

cd sacc
go build

4、运行链码

CORE_PEER_ADDRESS=peer:7052 CORE_CHAINCODE_ID_NAME=mycc:0 ./sacc

终端3

1、启动 cli

docker exec -it cli bash

2、安装链码并实例化链码

peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 0
peer chaincode instantiate -n mycc -v 0 -c ‘{“Args”:[“a”,”10”]}’ -C myc

3、调用链码,设置a的值为20

peer chaincode invoke -n mycc -c ‘{“Args”:[“set”, “a”, “20”]}’ -C myc

4、调用链码,查询a的值

peer chaincode query -n mycc -c ‘{“Args”:[“query”,”a”]}’ -C myc

转载自hyperledger官方文档,并做了部分修改,原文存在一些小问题:
http://hyperledger-fabric.readthedocs.io/en/release-1.1/chaincode4ade.html?spm=5176.11409106.555.1.29472487VAEz9Z

构建第一个fabric网络相关推荐

  1. 搭建一个Fabric网络

    生成相关证书文件 首先Fabric提供了一些工具用于生成所需的文件,cryptogen模块会根据提供的配置文件生成后续模块运行过程中需要的证书和数据文件. cryptogen常用命令: generat ...

  2. 使用minifabric工具部署一个fabric网络

    minifabric是fabric-labs开发的一款简单部署fabric生产网络的工具,话不多说,我们这就去试一试把 官方文档为:https://github.com/hyperledger-lab ...

  3. 在一台Ubuntu计算机上构建Hyperledger Fabric网络

    在一台Ubuntu计算机上构建Hyperledger Fabric网络 Hyperledger fabric是一个开源的区块链应用程序平台,为开发基于区块链的应用程序提供了一个起点.当我们提到Hype ...

  4. 【Hyperledger Fabric入门】(一) 快速运行一个简单的Fabric网络2

    本文在Ubuntu18.04运行,fabric版本为2.3.0.本文篇幅较长,因此分为两篇.快速运行一个简单的Fabric网络1详见:link 目录 3. Orderer节点的启动 4. Peer节点 ...

  5. 构建安全驱动型网络,Fortinet荣誉2020 Gartner广域网边缘基础设施领导者的源力

    近日,Gartner发布了2020年度广域网基础设施魔力象限(Magic Quadrant for WAN Edge Infrastructure)报告.在此报告中,Fortinet被Gartner列 ...

  6. 基于CELLO的Fabric网络环境部署

    1.简介: 该文档主要是在cello下实现Fabric网络环境的便携部署,其主要功能如下: 1)管理区块链的生命周期,例如自动创建/启动/停止/删除/保持健康状态. 2)支持定制(例如,大小,一致)区 ...

  7. 搭建Hyperledger Fabric网络

    注意:进行本文操作的前提是已完成Hyperledger Fabric的开发环境搭建,具体搭建步骤可参考[Hyperledger Fabric开发环境搭建(https://blog.csdn.net/y ...

  8. Deep learning:三十六(关于构建深度卷积SAE网络的一点困惑)

    前言: 最近一直在思考,如果我使用SCSAE(即stacked convolution sparse autoendoer)算法来训练一个的deep model的话,其网络的第二层开始后续所有网络层的 ...

  9. 构建单层单向RNN网络对MNIST数据集分类

    一.导入数据集 1 import tensorflow as tf 2 import numpy as np 3 #清除默认图形堆栈并重置全局默认图形,tf.reset_default_graph函数 ...

最新文章

  1. 分类讨论 ---- 2020 icpc 上海 Walker (二分 or 思维分类讨论)
  2. as 关联 android源码,android studio 2.x以上关联源码
  3. 判断一个对象是否是可调用对象
  4. OpenCV计算机视觉编程攻略之用色调、饱和度和亮度表示颜色
  5. 怎么找出消耗 CPU 的罪魁祸首?!
  6. win10家庭版没有device guard_普通用户选择哪个Win10系统版本?家庭版与专业版的对比介绍...
  7. Ecos笔记--2014/5/3
  8. CTO总结的管理30条军规
  9. zend studio mysql_Zend Studio的一些常用配置和使用帮助手册
  10. poj - 2255 Tree Recovery
  11. 400一双的人工肌肉跑鞋,能否扩大鸿星尔克“科技牌”赢面?
  12. 让局域网网速极速狂飙(组图)
  13. Android开发样式问题总结【持续更新】
  14. 计算机软件系统举例,什么是系统软件应用软件举例说明
  15. videopose3d 用自己的视频跑结果
  16. /etc/sysconfig/network 文件
  17. 计算机网络安全-----防火墙
  18. 解决电脑开机-EFI PXE 0 for IPv4(XX-XX-XX-XX-XX-XX) boot failed.问题
  19. 拯救pandas计划(7)——对含金额标志的字符串列转换为浮点类型数据
  20. 第三集 情陷美丽青海湖,缘定小镇黑马河

热门文章

  1. android xml java混合编程_Java学习中注解与多线程,网络编程与XML技术
  2. 小米改鸿蒙系统,小米、OV傻眼 魅族要用鸿蒙系统!
  3. Linux操作系统下信号处理函数
  4. python join_Python中join()方法的用法
  5. 微型计算机2016年12月下,2016年12月计算机一级MS Office练习及答案
  6. master节点重置后添加node报错_超强教程!在树莓派上构建多节点K8S集群!
  7. 74LS139改3―8线译码器_3、5号线沿线楼盘6800起!另:为无缝衔接地铁 新增调整公交线路一览!...
  8. feign返回结果统一处理_在.net core中对接口返回属性名称做统一处理
  9. svn拉取文件合并_svn - SVN - 大象笔记
  10. python的xlwt库的作用_Python:使用第三方库xlwt来写Excel