第一次安装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 第一次安装的更多相关文章
-
Ubuntu下配置Hyperledger Fabric环境
在win10系统的台式机上安装配置Hyperledger Fabric环境 安装Ubuntu 16.04 双系统 镜像下载地址:https://www.ubuntu.com/download/desk ...
-
使用docker加载已有镜像安装Hyperledger Fabric v1.1.0
背景 每次在新的服务器上安装Hyperledger Fabric网络时,通过fabric官方提供的脚本安装时,需要从网络上down下近10G的fabric相关镜像,这个过程是漫长及痛苦的,有时因网络问 ...
-
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 ...
-
Fedora 25-64位操作系统中安装配置Hyperledger Fabric过程
安装过程参照Hyperledger Fabric的官方文档,文档地址:http://hyperledger-fabric.readthedocs.io/en/latest/prereqs.html 0 ...
-
Hyperledger fabric 1.3版本的安装部署(原创多机多Orderer部署
首先,我们在安装前,要考虑一个问题 Hyperledger Fabric,通过指定的节点进行背书授权,才能完成交易的存储 延伸开来,就是为了实现容错.高并发.易扩展,需要zookeeper来选择排序引 ...
-
安装hyperledger fabric V1.0.1
安装文档位置: https://github.com/hyperledger/fabric fabric代码托管地址 https://hyperledger-fabric.readthedoc ...
-
安装hyperledger fabric V1.0.0-beta
安装文档位置: https://github.com/hyperledger/fabric fabric代码托管地址 https://hyperledger-fabric.readthedoc ...
-
Hyperledger Fabric v1.1.0安装记录(国内源版)
1. 安装虚拟机 虚拟机软件采用:VirtualBox 操作系统选择:Ubuntu 14.04 内存:4G CPU:2核 硬盘:20G 2.(可选)更改 ...
-
(三)Hyperledger Fabric 1.1安装部署-chaincode测试
环境搭建完毕,需要的工具和镜像安装完毕,就可以进行chaincode测试了,接下来参考官方教程运行first-network. 进入first-netwok: cd first-network fir ...
随机推荐
-
ABP理论学习之事件总线和领域事件
返回总目录 本篇目录 事件总线 定义事件 触发事件 处理事件 句柄注册 取消注册 在C#中,我们可以在一个类中定义自己的事件,而其他的类可以注册该事件,当某些事情发生时,可以通知到该类.这对于桌面应用 ...
-
将bean转换成键值列表
日常开发中在进行接口对接的数据传输时,有一种场景是将bean转成jsonString,这里可以将bean转换成Map再转成jsonString. 工具类如下: public static String ...
-
和redis谈一场恋爱(第二天约会了解彼此)
最近使用了Memcache,带来的便利已经让我欣喜若狂.开启了另一种又快又好的方式存储和读取数据.中间经过了一番折腾,学习了mysql,终于有学到了redis. Redis的全名是Remote Dic ...
-
QUnit使用笔记-5简化编写
在测试中,如果用到了大量相同的方法返回判断结果,可以将他们简化; 使用push(): push( result/*boolean,result of assert*/, actual, /*objec ...
-
集合-Comparator和Comparable
文章内容参考博客:https://www.cnblogs.com/xujian2014/p/5215082.html 1.Comparable Comparable是排序接口,当一个类实现了Compa ...
-
vue+vuecli+webpack中使用mockjs模拟后端数据
前言 使用mockjs可以事先模拟数据,前提是和后端约定好了数据接口,怎样的数据.使用mock就可以生成你要的数据了,从而实现开发时前后端分离. 其主要功能是: 基于数据模板生成模拟数据. 基于HTM ...
-
修改 sql 提示符信息:
Last login: Thu Dec 8 19:18:08 2016 from 192.168.242.1 [root@localhost ~]# su - oracle [oracle@local ...
-
centos时区设置
[root@ logs]# tzselect Please identify a location so that time zone rules can be set correctly.Pleas ...
-
orcale存储过程学习之路--创建空存储过程(二)
--创建表 create table TESTTABLE( id1 VARCHAR2(12), name VARCHAR2(32))select t.id1,t.name from TESTTA ...
-
Linux命令-文件处理命令:touch
touch chengshi.list 在当前目录中创建chengshi.list文件 touch /root/chengshi.list 在root目录下面创建chengshi.list文件 tou ...