Ubuntu 16.04下 hyperledger fabric1.0 网络环境搭建过程

本文档详细记录了在Ubuntu 16.04上搭建Hyperledger Fabric 1.0网络环境的过程,包括安装Go语言环境、Docker 17.06.2-ce以上版本、docker-compose 1.14.0以上版本,下载fabric源码、fabric-samples源码以及fabric镜像,启动并测试Fabric网络。遇到的问题如资源锁定和错误状态码也给出了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:

windows10 + VirtualBox 6.1.0 + Ubuntu16.04.6

参考教程:
https://blog.youkuaiyun.com/smallone233/article/details/86569536
https://blog.youkuaiyun.com/sinat_36742186/article/details/80809954

本文为自己的一个实验记录。仅供参考。借鉴了很多人的博客和教程,基本都标注出来了。感谢网友们。

目录

1.【前期准备】

2.【环境准备】

(1)Go语言环境

(2)安装docker 17.06.2-ce 以及以上版本

(3)安装docker-compose 1.14.0 以及以上版本

(4)下载 fabric源码、fabric-samples源码、fabric镜像

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

(6)手动测试Fabric网络


1.【前期准备】

进入虚拟机ubunt-->系统设置-->软件和更新-->软件源改为 aliyun

sudo apt-get update
安装vim          sudo apt-get install vim
安装git            sudo apt-get install git
安装curl          sudo apt-get install curl
安装wget        sudo apt-get install wget

2.【环境准备】

(1)Go语言环境

参考教程 https://www.cnblogs.com/X-knight/p/9522511.html

安装go1.11 以及以上版本

cd ~ 
wget https://studygolang.com/dl/golang/go1.11.linux-amd64.tar.gz    //下载
tar -xzf go1.11.linux-amd64.tar.gz    //解压
sudo mv go /usr/local    //移动

配置环境变量
在root下
vi /etc/profile
添加以下内容并保存
export  PATH=$PATH:/usr/local/go/bin
export  GOROOT=/usr/local/go
export  GOPATH=$HOME/go
export  PATH=$PATH:$HOME/go/bin
使文件生效
source /etc/profile

(不确定要不要弄)
vi ~/.profile
在最后添加以下内容
export  PATH=$PATH:/usr/local/go/bin
export  GOROOT=/usr/local/go
export  GOPATH=$HOME/go
export  PATH=$PATH:$HOME/go/bin
使文件生效
source ~/.profile

创建go目录(把go的目录GOPATH设置在当前用户的文件夹下)
cd ~   
mkdir  -p  go/src/github.com/hyperledger/fabric
sudo chmod -R 777 go

检验go:输入go version验证

(2)安装docker 17.06.2-ce 以及以上版本

参考教程 https://www.cnblogs.com/senlinyang/p/8203191.html

下载安装工具:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

(如果要卸载旧版本:sudo apt-get remove docker docker-engine docker.io)

添加软件源的 GPG 密钥(国内源)
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

官方密钥(速度慢):
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

向source.list中添加 Docker 软件源

sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"

官方源(慢):
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

下载docker-ce:
sudo apt-get update
sudo apt-get install docker-ce

问题:E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
解决方案:强制解锁:

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

完成上面操作之后检查docker安装是否成功:docker version

将需要使用docker的用户加入docker用户组
sudo groupadd docker    创建docker组
sudo usermod -aG docker XXX  (XXX是当前用户名)

添加阿里云的Docker镜像:
sudo mkdir -p /etc/docker     
sudo vim /etc/docker/daemon.json 

将以下内容写入daemon.json:

{
"registry-mirrors": ["https://aeckruos.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.6.129:5000"]
}

接下来输入:
sudo systemctl daemon-reload 
sudo systemctl restart docker 
docker version

如果权限不足,输入sudo chmod -R 777 /var/run/docker.sock

(3)安装docker-compose 1.14.0 以及以上版本

sudo apt-get install python-pip
sudo pip install docker-compose

pip install --upgrade pip
出现问题多试几次,可能是网络问题没下好...

还是继续头铁的无视通知...

查看版本:
docker-compose -version

(4)下载 fabric源码、fabric-samples源码、fabric镜像

参考教程:
https://blog.youkuaiyun.com/Sun_Hui_/article/details/100928155
https://blog.youkuaiyun.com/so5418418/article/details/78355868

下载 fabric 源码:

cd /home/lyj/go/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git

下载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

如果速度特别慢,在/etc/docker/中修改以下内容
sudo vim /etc/docker/daemon.json

{
 "registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}

下载好后看到 docker images:

 

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

参考教程 https://blog.youkuaiyun.com/so5418418/article/details/78355868

cd /home/lyj/go/src/github.com/hyperledger/fabric/examples/e2e_cli

./network_setup.sh up

彻底关闭并清理遗留数据:./network_setup.sh down

这个指令具体进行了如下操作: 

  1. 编译生成Fabric公私钥、证书的程序,程序在目录:fabric/release/linux-amd64/bin
  2. 基于configtx.yaml生成创世区块和通道相关信息,并保存在channel-artifacts文件夹。
  3. 基于crypto-config.yaml生成公私钥和证书信息,并保存在crypto-config文件夹中。
  4. 基于docker-compose-cli.yaml启动1Orderer+4Peer+1CLI的Fabric容器。
  5. 在CLI启动的时候,会运行scripts/script.sh文件,这个脚本文件包含了创建Channel,加入Channel,安装Example02,运行Example02等功能。

期间出现的问题:

问题1.

参考教程:https://blog.youkuaiyun.com/Mr__FFF/article/details/83088464

问题2. Error: Got unexpected status: BAD_REQUEST

./network_setup.sh down 清理遗留数据

然后重新尝试。

参考教程 https://blog.youkuaiyun.com/weixin_39559301/article/details/87913359

记录一下全部内容:

lyj@lyj-VirtualBox:~/go/src/github.com/hyperledger/fabric/examples/e2e_cli$ ./network_setup.sh up
setting to default channel 'mychannel'
mychannel

Using cryptogen -> /home/lyj/go/src/github.com/hyperledger/fabric/examples/e2e_cli/../../release/linux-amd64/bin/cryptogen

##########################################################
##### Generate certificates using cryptogen tool #########
##########################################################
org1.example.c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值