Hyperledger Fabric 2.1 搭建教程

环境准备

版本

  • Ubuntu 18.04
  • go 1.14.4
  • fabric 2.1
  • fabric-sample v1.4.4
  • nodejs 12.18.2

Docker 安装

  1. 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
  1. 安装依赖
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
  1. 添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. 设定稳定版仓库
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
  1. 更新源
sudo apt-get update
  1. 安装
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. 添加当前用户到docker用户组
sudo usermod -aG docker johnny
  1. 安装docker-compose
   sudo apt-get install docker-compose

go 安装

下载go的安装包,放入/usr/local目录下

sudo tar -zxvf go1.14.4.linux-amd64.tar.gz
vim ~/.profile

在末尾加上如下内容

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$HOME/go/bin
export PATH=$PATH:/usr/local/go/bin
source ~/.profile

配置go的国内代理以加速访问

echo "export GOPROXY=https://goproxy.cn" >> ~/.profile
source ~/.profile

node 安装(可选)

安装node主要是为了测试我们的网络用

  1. cd ~/,运行
git clone https://github.com/nvm-sh/nvm.git .nvm
  1. 完成之后cd ~/.nvm并且git checkout v0.35.3

  2. 然后运行安装脚本.install.sh,然后关闭当前shell重新打开,运行nvm,提示如下则代表安装成功.

  1. 安装12.18.2版本

    nvm install 12.18.2

fabric-sample 克隆

创建如下目录并进入,其中johnny为我的用户名

/home/johnny/go/src/github.com/hyperledger

然后克隆fabric-sample

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

安装二进制文件,网速不好的话这部分非常慢.

curl -sSL https://bit.ly/2ysbOFE | bash -s

如果这步实在无法搞定,那么下载我提供的bootstrap.sh[链接:https://pan.baidu.com/s/1AL2DGMIYOVHo1tkYOBe_cA

提取码:oz1k]脚本,手动运行.

脚本主要包含三大功能,下载docker镜像,Sample和二进制文件,编辑如下三个位置,设置成true则会执行,false则跳过,各位可以按需来弄.

DOCKER=true

SAMPLES=true

BINARIES=true

成功之后fabric-sample目录下就会有bin目录和config目录,并且bin目录下有如下文件\

加入PATH到 ~/.profile

export PATH=/home/johnny/go/src/github.com/hyperledger/fabric-samples
/bin:$PATH
source ~/.profile

之后在bash中输入peer如果如图显示则代表配置成功.

测试

环境配好了需要测试一下,切到fabric-samples下的fabcar目录

运行启动网络

./startFabric.sh

成功的话会显示如下界面

同时用命令docker ps查看docker如下

cd javascript目录下,运行npm install

之后运行

node enrollAdmin.js

提示如下则代表测试成功,enrollAdmin.js负责添加一个Admin用户

node registerUser.js

node query.js ## 查询

总结

看了各处的教程,发现都是Fabric1.4版本的,按照他们来弄最后创建网络的时候总是报错.本次参考官方的文档搭建的基础环境.能跑通官方的Fabcar示例代码.

Hyperledger Fabric 2.1 搭建教程的更多相关文章

  1. Hyperledger Fabric 入门 first-network 搭建

    1.准备环境: 安装git.docker.curl.go [root@test_vonedao_83 fabric]# git --version git version 1.8.3.1 [root@ ...

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

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

  3. Hyperledger Fabric 1.0 从零开始(一)

    在HyperLedger/Fabric发布0.6的时候,公司就已经安排了一个团队研究这一块,后来也请IBM的专家组过来培训了一批人,不幸的是,这批人后来全走了,然后1.0就发布了.自从2017年7月H ...

  4. 【推荐】 HyperLedger Fabric环境搭建、测试及注意事项 [详尽指导] [亲测有效]

    系统:Ubuntu16.04 LTS 一.环境准备 1.1 Ubuntu下安装 crul sudo apt install curl curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被 ...

  5. 区块链Hyperledger Fabric 学习记录(一)开发环境搭建(ubuntu16.04/ubuntu18.04)

    目录 Fabric开发环境搭建 更新说明 教程环境及软件版本 Docker 安装Docker 配置用户组 配置Aliyun Docker加速器 安装docker-compose Go 下载源码 安装源 ...

  6. Ubuntu下搭建Hyperledger Fabric v1.0环境

      多次尝试才正常启动了Fabric,如遇到各种莫名错误,请参考如下一步步严格安装,特别用户权限需要注意. 一.安装Ubuntu16 虚拟机或双系统,虚拟机有VirtualBox或者VMware,Ub ...

  7. Hyperledger Fabric 1.4 快速环境搭建

    自己的硕士研究方向和区块链有关,工程上一直以IBM的Hyperledger Fabric为基础进行开发,对该项目关注也有两年了.目前迎来了Hyperledger Fabric v1.4,这也是Fabr ...

  8. 7.搭建hyperledger fabric环境及启动——2019年12月12日

    2019年12月12日13:05:16 声明:从网络中学习整理实践而来. 1.介绍fabric Fabric 是一个面向企业应用的区块链框架,基于 Fabric 的开发可以粗略分为几个层面: 1. 参 ...

  9. 基于Debian搭建Hyperledger Fabric 2.4开发环境及运行简单案例

    相关实验源码已上传:https://github.com/wefantasy/FabricLearn 前言 在基于truffle框架实现以太坊公开拍卖智能合约中我们已经实现了以太坊智能合约的编写及部署 ...

随机推荐

  1. kka-typed(5) - cluster:集群节点状态监视

    akka-cluster对每个节点的每种状态变化都会在系统消息队列里发布相关的事件.通过订阅有关节点状态变化的消息就可以获取每个节点的状态.这部分已经在之前关于akka-cluster的讨论里介绍过了 ...

  2. zabbix 监控 tcp 连接数

    一.zabbix-agent 服务器配置 1.编辑zabbix_agent配置文件,添加以下内容 vim /etc/zabbix/zabbix_agentd.conf ##添加此行 UserParam ...

  3. vscode 修改标签栏样式为换行全部展示

    目前vscode的标签栏是滚动式的,选择查看都不是很方便,于是想要搞成andriod studio那种换行全部展示的标签栏. 因为vscode是electron写的,因此修改css就可以实现. 修改方 ...

  4. Go语言圣经[中文版]

    近期整理了一篇Go语言圣经[中文版]在线版本,排版比较适合手机以及PC阅读. Go语言圣经[中文版本]

  5. protobuf安装流程

    protobuf安装流程 环境 平台 ​ Ubuntu16.04 依赖 autoconf automake libtool curl make g++ 安装流程 在Ubuntu / Debian上,您 ...

  6. JDK Base64编解码1.7和1.8的坑

    场景 对接一个第三方api接口,其中签名部分用的是JDK8的编码.我们线上采用JDK7,导致项目无法编译 替换编解码部分为1.7的代码,然后签名又不对 所以坑就在这里,结论,1.7的编解码有换行符导致 ...

  7. Javascript模块化编程(转自阮一峰的网络日志)(备忘)

    http://www.ruanyifeng.com/blog/2012/10/javascript_module.html

  8. 重学 Java 设计模式:实战享元模式「基于Redis秒杀,提供活动与库存信息查询场景」

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 程序员‍‍的上下文是什么? 很多时候一大部分编程开发的人员都只是关注于功能的实现,只 ...

  9. Linux 半连接队列,全连接队列

    socket 中 listen api中参数backlog指定的是 全队列大小 accept api是从全队列中获取, 没有就阻塞了, 直到有新连接进来. listen中指定的值大小,有一个最大上限, ...

  10. Task.Result跟 Task.GetAwaiter.GetResult()相同吗?怎么选?

    前几天在用线程池执行一些任务时运到一种情形,就是回调方法中使用到了异步方法,但是回调方法貌似不支持async await的写法.这时候我应该如何处理呢?是使用Task.Result来获取返回结果,还是 ...