打开Hyperledger Fabric在线开发文档:https://hyperledger-fabric.readthedocs.io

建议在Mac或Linux环境下操作,因为文档基本上是按照Mac或Linux下操作写的,windows设置起来会更费事一些,以下操作都是在Mac下的:

第一步:构建系统运行环境

1.1 安装cURL (cURL是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。)

安装前先用以下命令检查一下Mac下是否已经安装了curl,如果有输出相关的版本信息说明是已经安装了。

curl --version

如没有安装可用以下命令安装;

brew install curl

1.2 安装docker,Fabric的chaincode是运行在docker里的,可以从这里找到对于的系统版本然后下载: https://www.docker.com/community-edition#download

安装好后在termianl检查docker和docker-compose的版本,版本号需大于等于version 17.03.0-ce

docker --version
docker-compose --version

1.3 设定go path,先运行以下命令,检查是否有设定go path

echo $GOPATH

如果没有输出则运行以下命令设定,设定好的go path为 ~/go

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

1.4 安装node.js, https://nodejs.org/en/download/

保证版本在version 6.9之后

1.5 安装node.js会自动安装npm,保证版本大于3.10.10

第二步:getting start

2.1 在用户目录下建一个Hyperledger目录,然后进入到这个目录下

mkdir ~/Hyperledger
cd ~/Hyperledger

2.2 安装Hyperledger Fabic和Docker image

目前Hyperledger Fabic最新版本是1.0.5,官方教程上会叫用户执行下面命令来安装

curl -sSL https://goo.gl/byy2Qj | bash -s 1.0.5

但是我试过几次都是timeout,原因可能在于url用的是google短网址,国内被墙,那么改成下面的命令就可以了,如果要安装特定版本只要修改下面命令行中的版本号即可

curl https://raw.githubusercontent.com/hyperledger/fabric/v1.0.5/scripts/bootstrap.sh | bash -s 1.0.5

安装完成后在~/Hyperledger目录下会生成一个bin目录

命令行执行完后最终会列出docker image list (需要点时间,在这段时间里可以同步做2.3步骤)

后续也可以通过以下命令查看docker images

docker images

2.3 下载Hyperledger Fabic Samples

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

第三步:构建第一个Hyperledger Fabric网络(参照官方文档https://hyperledger-fabric.readthedocs.io/en/release/build_network.html)

3.1 在~/Hyperledger/fabric-samples目录下有一个叫first-network的,就是我们用来构建第一个fabric网络的示例代码

3.2 把bin目录下的内容全部拷贝到frist-network目录中

3.3 在first-network目录下有一个byfn.sh文件(byfn即是build your first network的首字母),是一些shell命令帮助我们创建第一个hyperledger fabric网络。具体作用为利用Docker建立2家机构,4个节点,1个排序节点,并且将4个节点组成一个channel,实例化并执行chaincode。

3.4 用命令行进入到first-network目录中

cd ~/Hyperledger/fabric-samples/first-network/

执行以下命令

./byfn.sh -m generate

将询问是否安装默认的配置设置channel名为mychannel,CLI timeout时间为10,回答y:

命令行执行结束后去first-network目录下会看到多了一个crypto-config目录,里面就包括网络中机构和节点的配置信息,都是些认证文件,所以不要改变里面任何东西。

3.5 启动网络

./byfn.sh -m up

报错了,重试了几次,已经在社区发问,还没解决。我已经是严格按照官方文档来做的了,感觉是哪里有bug,暂时可以先玩在线的playground。

Shimingbookmini:first-network Shiming$ ./byfn.sh -m up
Starting with channel 'mychannel' and CLI timeout of ''
Continue (y/n)? y
proceeding ...
Creating network "net_byfn" with the default driver
Pulling orderer.example.com (hyperledger/fabric-orderer:latest)...
ERROR: manifest for hyperledger/fabric-orderer:latest not found
ERROR !!!! Unable to start network
Error response from daemon: No such container: cli

Hyperledger Fabric开发的更多相关文章

  1. Hyperledger Fabric开发(二):创建网络

    运行fabric-samples项目中的一个例子:first-network,创建第一个网络(Building Your First Network). 该网络共有4个peer节点,划分为2个组织(o ...

  2. Hyperledger Fabric开发(一):环境配置

    macOS系统下配置hyperledger fabric环境 cURL mac中自带curl,如果需要下载最新版本,则可按照以下命令,并将路径添加在系统环境变量的最前面即可 brew install ...

  3. Hyperledger Fabric 开发环境搭建 centos7系统

    一.安装GO语言 下载最新版的go 打开Terminal,输入命令(以下命令都是以root管理员的角色进行的) su 输入密码:***** wget https://storage.googleapi ...

  4. HyperLedger Fabric 学习思路分享

    HyperLedger Fabric 学习思路分享 HyperLedger Fabric最初是由Digital Asset和IBM公司贡献的.由Linux基金会主办的一个超级账本项目,它是一个目前非常 ...

  5. HyperLedger/Fabric SDK使用Docker容器镜像快速部署上线

    HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container ( ...

  6. Hyperledger Fabric on SAP Cloud Platform

    今天的文章来自Wen Aviva, 坐Jerry面对面的程序媛. Jerry在之前的公众号文章<在SAP UI中使用纯JavaScript显示产品主数据的3D模型视图>已经介绍过Aviva ...

  7. 用Hyperledger Fabric(超级账本)来构建Java语言开发区块链的环境

    面向 Java 开发人员的链代码简介 您或许听说过区块链,但可能不确定它对 Java™ 开发人员有何用.本教程将帮助大家解惑.我将分步展示如何使用 Hyperledger Fabric v0.6 来构 ...

  8. windows 搭建 IBM Hyperledger Fabric(超级账本)开发环境

    一.概述 Hyperledge fabric项目是IBM开源的区块链项目.Github地址:https://github.com/hyperledger/fabric 想对fabric有具体的认识,可 ...

  9. HyperLedger Fabric ChainCode开发——shim.ChaincodeStubInterface用法

    深蓝前几篇博客讲了Fabric的环境搭建,在环境搭建好后,我们就可以进行Fabric的开发工作了.Fabric的开发主要分成2部分,ChainCode链上代码开发和基于SDK的Application开 ...

随机推荐

  1. python操作excel xlrd和xlwt的使用

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

  2. 如何理解Robot Framework

    不知不觉公众号已经有很多人关注了,小编先谢谢大家的支持-今天我们就来谈一谈我对RF的理解,因为前段时间换了工作,目前RF知识基本用不上了.其实我在上一份工作中大部分都是在反复的使用前面讲过的知识——其 ...

  3. php://input解决APP发送图片问题

    今天公司要求用APP发送一个图片到PHP程序接收并保存起来,而且中间还需要很多参数! 以前没有做过APP和PHP交互,这次算是一个挑战吧(对一个没有人指导实习生来说) 1.APP发1.jpg,而且带有 ...

  4. (转)Android 50道面试题总结(大家看看吧)

    1. 方法重载与覆盖的区别?(Overload与Override的区别)2. String 和StringBuffer的区别3. 字符串“abcde”通过写一个函数不让调用第三方的字符串,实现一个字符 ...

  5. .Net上传文件超过了最大请求长度

    错误消息:超过了最大请求长度    错误原因:asp.net默认最大上传文件大小为4M,运行超时时间为90S. 修改web.config文件可以改变这个默认值为 <configuration&g ...

  6. Mybatis拦截器介绍及分页插件

    1.1    目录 1.1 目录 1.2 前言 1.3 Interceptor接口 1.4 注册拦截器 1.5 Mybatis可拦截的方法 1.6 利用拦截器进行分页 1.2     前言 拦截器的一 ...

  7. PHP5.3.8连接Sql Server SQLSRV30

    PHP5.3连接SQL Server就不能用php_mssql.dll了. 网上下载了好多都不行,因为它的版本是5.2的,不能再PHP5.3中使用. 后来听说微软专门为PHP出了自己的dll. 叫做M ...

  8. 红黑树(Red-Black Tree)

    概念解析: 红黑树是一种自平衡二叉查找树(self-balancing binary search tree).因此,红黑树本身就是二叉树的一个变种.典型的用途是实现关联数组(Associative ...

  9. (转) Docker - Docker1.12服务发现,负载均衡和Routing Mesh

    看到一篇介绍 Docker swarm以及如何编排的好文章,挪放到这里,自己学习的同时也分享出来. 原文链接: http://wwwbuild.net/dockerone/414200.html -- ...

  10. Py修行路 python基础 (二十五)线程与进程

    操作系统是用户和硬件沟通的桥梁 操作系统,位于底层硬件与应用软件之间的一层 工作方式:向下管理硬件,向上提供接口 操作系统进行切换操作: 把CPU的使用权切换给不同的进程. 1.出现IO操作 2.固定 ...