第一次安装fabric有很多坑。记录一下,主要跟版本问题。

参考的是http://www.cnblogs.com/aberic/p/7532114.html 这篇博客。

我用的阿里云centOs 7.X的版本。

前面安装go,docker的过程不在描述。

安装完docker后下载fabric源码。

mkdir –p ~/go/src/github.com/hyperledger 
cd ~/go/src/github.com/hyperledger 
用git命令下载完整源码 
git clone https://github.com/hyperledger/fabric.git

切换到1.0.0版本

git checkout v1.0.0

后面通过 ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/ 下执行 ./download-dockerimages.sh 下载镜像。 这种方法下载的镜像一直启动报错,具体错误信息错过了截不到了。总之跟peer启动不了有关。

后来参考 https://blog.csdn.net/yeasy/article/details/54928343这个博客下载镜像的部分。镜像下载成功以后启动依然不错。网上有人说需要把官方提供的二进制文件放到  go/src/github.com/hyperledger/fabric/examples/e2e_cli/这个项目的bin下,也有人说应该放到

go/src/github.com/hyperledger/fabric的release。第一种尝试失败。第二种尝试,发现我下载的源码没有release文件夹。后来查阅,发现需要在 go/src/github.com/hyperledger/fabric下,执行 make release方法生成release文件夹,也会自动产生对应的二进制文件

执行 go/src/github.com/hyperledger/fabric/examples/e2e_cli/network_setup.sh up.

启动成功!

我的路径是放在 /root/go/src下的。前面为了怕误导他人,没有加root路径。实际是有的。

启动网络的过程也实例化了一个chainCode,名字是mycc。

所以在上步之后,先 ctrl+c退出当前。后台不会退出。然后执行docker exec -it cli bash 进入peer下。

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

root@d5f2911e3007:/go/src/github.com/hyperledger/fabric/peer# peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

这个是查询账户a余额的命令。可以看到余额是90.

执行: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","50"]}'  由a账户转账50到b账户。

root@d5f2911e3007:/go/src/github.com/hyperledger/fabric/peer# 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","50"]}'

这里的 /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem 我尝试改成我自己linux系统的实际路径,发现失败。报错文件找不到。

Error: Error getting broadcast client: Error connecting to orderer.example.com:7050 due to open /root/go/src/github.com/hyperledger/fabric/examples/e2e_cli/crypto-config/ordererOrganizations/example.com/msp/tlscacerts/tlsca.example.com-cert.pem: no such file or directory。

个人猜测可能源码内部只识别此路径。但是这个路径实际是没有文件的,所以可能是个虚拟路径。(有待学习)。

转账以后再查看a账户,

到这里基本就结束了,

exit

./network_setup down

Hyperledger Fabric 第一次安装的更多相关文章

  1. Ubuntu下配置Hyperledger Fabric环境

    在win10系统的台式机上安装配置Hyperledger Fabric环境 安装Ubuntu 16.04 双系统 镜像下载地址:https://www.ubuntu.com/download/desk ...

  2. 使用docker加载已有镜像安装Hyperledger Fabric v1.1.0

    背景 每次在新的服务器上安装Hyperledger Fabric网络时,通过fabric官方提供的脚本安装时,需要从网络上down下近10G的fabric相关镜像,这个过程是漫长及痛苦的,有时因网络问 ...

  3. Ubuntu16.04下安装Hyperledger Fabric 1.0.0

    系统环境 * Ubuntu: 16.04 * Go: 1.9.2 * NodeJS: v6.12.0 * Docker: 17.09.0-ce * HyperLedger Fabric: 1.0.0 ...

  4. Fedora 25-64位操作系统中安装配置Hyperledger Fabric过程

    安装过程参照Hyperledger Fabric的官方文档,文档地址:http://hyperledger-fabric.readthedocs.io/en/latest/prereqs.html 0 ...

  5. Hyperledger fabric 1.3版本的安装部署(原创多机多Orderer部署

    首先,我们在安装前,要考虑一个问题 Hyperledger Fabric,通过指定的节点进行背书授权,才能完成交易的存储 延伸开来,就是为了实现容错.高并发.易扩展,需要zookeeper来选择排序引 ...

  6. 安装hyperledger fabric V1.0.1

      安装文档位置: https://github.com/hyperledger/fabric   fabric代码托管地址 https://hyperledger-fabric.readthedoc ...

  7. 安装hyperledger fabric V1.0.0-beta

      安装文档位置: https://github.com/hyperledger/fabric   fabric代码托管地址 https://hyperledger-fabric.readthedoc ...

  8. Hyperledger Fabric v1.1.0安装记录(国内源版)

    1. 安装虚拟机     虚拟机软件采用:VirtualBox     操作系统选择:Ubuntu 14.04     内存:4G     CPU:2核     硬盘:20G     2.(可选)更改 ...

  9. (三)Hyperledger Fabric 1.1安装部署-chaincode测试

    环境搭建完毕,需要的工具和镜像安装完毕,就可以进行chaincode测试了,接下来参考官方教程运行first-network. 进入first-netwok: cd first-network fir ...

随机推荐

  1. FI模块与SD、MM的接口配置方法

    [转自 http://blog.itpub.net/195776/viewspace-1023910/] 1 FI/SD 借口配置FI/SD通过tcode VKOA为billing设置过帐科目,用户可 ...

  2. JS性能优化——数据存取

    首先,了解几个概念: 字面量:它只代表自身,不存储在特定的位置.JavaScript中的字面量有:字符串.数字.布尔值.对象.数组.函数.正则,以及特殊的null和undefined值 本地变量:使用 ...

  3. Java for LeetCode 091 Decode Ways

    A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...

  4. iOS SDK:iOS调试技巧

    感谢原创 在程序中,无论是你想弄清楚为什么数组中有3个对象而不是5个,或者为什么一个新的玩家开始之后,游戏在倒退——调试在这些处理过程中是比较重要的一部分.通过本文的学习,我们将知道在程序中,可以使用 ...

  5. Hadoop HA- hadoop集群部署

    前期部署,至少准备3台服务器(可以是虚拟机) 1.linux系统环境准备 ip地址配置 hostname配置 hosts映射配置 关闭防火墙 service iptables stop ,也可以设置防 ...

  6. 织梦简洁机械设备dedecms模板

    织梦简洁机械设备dedecms模板,个人网站模板,dedecms模板. 模板地址:http://www.huiyi8.com/sc/7269.html

  7. eclipse如何在不联网的情况下引入dtd约束文件

    1. 获取dtd文件,解压 F:\Java配置文件\Mybatis\mybatis-3.3.0\mybatis-3.3.0.jar\org\apache\ibatis\builder\xml\ 路径下 ...

  8. Go丨语言学习笔记--switch

    Java语言与Go语言的switch对比 Go语言 switch str { case "yes" : do something ... case "no" d ...

  9. listen 71

    Creepy People Leave You Cold Jack Nicholson, playing the crazed caretaker in The Shining, makes me r ...

  10. 书写优雅的shell脚本(八)- 日期格式化

    1. 将日期格式转为时间戳 获取当前时间:currenttime=`date "+%Y-%m-%d %H:%M:%S"` 结果:2015-04-13 11:15:43 将当前时间转 ...