从2018年6月份左右,开始接触fabric,搭建了单机或集群环境,也写了一些文档。最近整理电脑时发现,在这里分享出来。。。。

系统: linux ubuntu 16.04

安装Go

1.8以上

cd /www/download/

wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz

解压缩,解压后文件夹是go

sudo tar -xzf go1.9.linux-amd64.tar.gz

sudo vi /etc/profile

export PATH=$PATH:/www/download/go/binexport GOROOT=/www/download/goexport GOPATH=$HOME/goexport PATH=$PATH:$HOME/go/bin

source /etc/profile

go version

安装Docker

更新源

sudo apt-get update

安装docker

sudo apt-get install -y docker.io

修改当前用户(我使用的用户叫content2)权限

sudo usermod -aG docker content2

注销并重新登录(或关闭当前黑屏窗口重新进入),然后添加阿里云的Docker Hub镜像:

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]}EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

docker -v

安装docker-compose

Docker-compose是支持通过模板脚本批量创建Docker容器的一个组件。

sudo apt-get install -y docker-compose

docker-compose --version

Fabric源码下载

阿里云服务器需要修改修改 /etc/resolv.conf 配置,将 options timeout:2 attempts:3 rotate single-request-reopen 内容注释掉,作者修改后的内容如下# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 100.100.2.136nameserver 100.100.2.138# options timeout:2 attempts:3 rotate single-request-reopen

sudo mkdir -p ~/go/src/github.com/hyperledger

cd ~/go/src/github.com/hyperledger

sudo git clone -b release-1.0 https://github.com/hyperledger/fabric

给fabric文件夹授权

sudo chown content2.content2-R fabric

生成可执行文件

cd ~/go/src/github.com/hyperledger/fabric

make configtxgen

Fabric Docker镜像的下载

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/

source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

检查下载的镜像列表

docker images

启动Fabric网络并完成ChainCode的测试

在~/go/src/github.com/hyperledger/fabric/examples/e2e_cli目录下执行启动命令,它会启动一个 mychannel 的channel

./network_setup.sh up

执行完成后,会显示

至此,整个Fabric网络已经通了。

这里容易出现错误,

类似这样的错误,是因为channel已经建立,命名冲突。这时候需要清除docker容器的内容,并重新执行上面的命令。

1)删除一个容器 docker rm

2)强制删除一个容器 docker rm -f

3)强制删除全部容器 docker rm -f $(docker ps -aq)

测试Fabric网络

以现在安装好的Example02为例,在官方例子中,channel名字是mychannel,链码的名字是mycc。我们首先进入CLI,我们重新打开一个命令行窗口,输入:

docker exec -it cli bash

查询a账户的余额:

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

显示余额是90

把a账户的余额再转20元给b账户:

peer chaincode invoke -o orderer.example.com:7050  --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem  -C mychannel -n mycc -c '{"Args":["invoke","a","b","20"]}'

查询a账户的余额,显示70

关闭Fabric网络

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli

./network_setup.sh down

Fabric1.0.0单机环境部署相关推荐

  1. 【RocketMQ】4、Windows10单机环境部署

    [RocketMQ]4.Windows10单机环境部署 文章目录 [RocketMQ]4.Windows10单机环境部署 一.RocketMQ下载 二.环境搭建 三.启动RocketMQ 四.图形管理 ...

  2. JeeSite 4.0 (1.0)开发环境部署运行

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 环境要求 1.Java SDK 1.8 下载 2.Eclipse IDE for Java EE M ...

  3. Spring Boot 2.0.0.M7 生产环境部署

    springboot 生产环境 注意事项 1.去除不需要的 jar 开发工具jar:spring-boot-devtools 监控一定要做好权限控制或者去除 控制jar:spring-boot-sta ...

  4. fabric1.4.3单机环境搭建教程(四)

    fabric中链码的其他操作 1.链码的打包 通过链码对相关数据(如链码名称,版本,实例化策略)进行封装,可以使用package命令进行打包操作 $ peer chaincode package -n ...

  5. (个人)Zookeeper集群环境部署

    一.准备工作 1. 下载zookeeper,下载地址:https://zookeeper.apache.org/releases.html#download  2. 下载CentOS7的镜像,下载地址 ...

  6. TiDB 6.1 单机环境 On openEular 2003 SP3

    作者: 数据小黑 原文来源: https://tidb.net/blog/8dafdf96 背景 最近对国产操作系统很感兴趣,也有一些场景需要验证落地,经过朋友推荐,选择华为的openEular进行验 ...

  7. Hyperledger fabric1.4.0搭建环境

    Hyperledger fabric1.4.0搭建环境 原创牧竹子 最后发布于2019-05-11 21:10:20 阅读数 630  收藏 展开 Hyperledger fabric1.4.0搭建环 ...

  8. linux单机到单机adg环境,Oracle 11.2.0.4 DataGuard 环境打PSU,OJVM PSU补丁快速参考

    环境:RHEL6.5 + Oracle 11.2.0.4 DataGuard physical standby 主库和备库都是单节点. 需求:主备库同时应用160719的PSU和OJVM PSU补丁. ...

  9. eclipse中hadoop2.3.0环境部署及在eclipse中直接提交mapreduce任务

    转自:http://my.oschina.net/mkh/blog/340112 1 eclipse中hadoop环境部署概览 eclipse中部署hadoop包括两大部分:hdfs环境部署和mapr ...

最新文章

  1. 6.字符串解析(LeetCode第394题)
  2. php将科学计算法得出的结果转换成原始数据
  3. python读数据-python数据读写
  4. c语言万年历需要注意什么意思,C语言万年历
  5. 时钟信号线 电源线 地线_信号线和电源线的区别
  6. 如何写一个数据库中间件以及需要准备的知识储备
  7. 一步步优化JVM四:决定Java堆的大小以及内存占用
  8. Datalogic 得利捷推出超级灵活且坚固可靠的PowerScan 9600 系列 庆祝公司成立50周年
  9. 大数据技术如何影响企业决策?
  10. 电脑主板资料库 07【转至www.ongood.com.tw】【FreeXploiT收集整理】
  11. WPS表格2013怎么进行数据合并计算将多个区域进行合并计算
  12. 海外服务器租用主要要看三个方面
  13. [转] 大三下,我们该做什么?
  14. Android 小米全面屏手势底部虚拟按键的适配
  15. 第三方平台创建小程序步骤
  16. 脱裤子放屁之用两个栈实现队列、用两个队列实现栈
  17. 铁路基边坡滑坡隧道监测解决方案
  18. 22-07-04 西安 尚好房(01)项目经验总结
  19. 地球人口承载力估计(c++基础)
  20. 太平歌词 - 《白蛇传》

热门文章

  1. 六度分离【Floyd】
  2. 浅析HTML5中标签del和ins以及HTML5中被舍弃的标签
  3. 据说能答对5道题的人是天才,答对4道的是帅才,答对3道的是将才,答对2道的是奇才,答对1道的是人才
  4. Linux下QT串口通过无线模块收发十六进制数据
  5. Sunday算法:查找字符串
  6. DSSS、OFDM、FHSS的区别与联系
  7. Ubuntu14.04安装adobe flash 插件
  8. maven项目部署在内网运行
  9. 新手小白,做短视频自媒体创业,需要准备什么?
  10. 我对支付平台架构设计的一些思考