- 一、hyperledger fabric 环境搭建
- 1. 安装curl,Git,pip并更新
- 1.1 安装pip并更新
- 1.2 安装curl,Git
- 2. Golang 安装配置
- 3. 安装Docker
- 4. 安装Docker Compose
- 5. 下载fabric和fabric-ca
- 6. 拉取最新docker镜像(hyperledger fabric 2.x需要)
- 7. 运行测试
在项目开始,先搭建hyperledger fabric开发环境,本项目在ubuntu 20.04
sudo apt install python-pip # 直接使用pip install --upgrade pip 命令会很慢,需要换源 # 这里直接使用-i参数,指定pip源 pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple1.2 安装curl,Git
sudo apt install curl sudo apt install git2. Golang 安装配置
下载安装包(也可以自行到 studygolang.com/dl 上下载安装包)
首先安装一些必要的依赖
sudo apt install libtool libltdl-dev
下载解压
sudo wget https://studygolang.com/dl/golang/go1.15.5.linux-amd64.tar.gz sudo tar -xzvf go1.15.5.linux-amd64.tar.gz -C /usr/local/
配置
#创建go目录 mkdir $HOME/go #用vi打开~./bashrc,配置环境变量 vi ~/.bashrc # 在最下方插入 export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin #使配置的环境变量生效 source ~/.bashrc #检查是否配置正确 go version3. 安装Docker
首先需要安装17.06.2-ce或更高版本,建议安装最新版本的docker。 安装docker之前为确保docker版本过低,卸载以前的docker,重新安装docker
sudo apt-get remove docker docker-engine docker.io
可自行到 get.daocloud.io/ 下载Docker和Docker Compose
使用curl下载并安装脚本
curl -sSL https://get.daocloud.io/docker | sh
也可以使用apt-get下载docker
sudo apt install docker.io
(可选)如果你希望 docker daemon 在系统启动的时候会自动启动的话,使用下边的命令
sudo systemctl enable docker
设置成非root用户也能执行docker,需要将用户加入docker组(例如username用户),此步骤可能需要重启才能生效
sudo usermod -aG docker username
或者
sudo gpasswd -a ${USER} docker
sudo su
su username
Docker更换阿里镜像源,在https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors申请
cd /etc/docker sudo vi daemon.json
在该配置文件中加入
{
"registry-mirrors": ["加速器地址"]
}
重启docker,查看docker信息,测试docker
sudo systemctl daemon-reload sudo systemctl restart docker docker info docker run hello-world4. 安装Docker Compose
下载Docker Compose
# sudo apt remove docker-compose sudo apt install docker-compose
配置执行权限
sudo chmod +x /usr/share/doc/docker-compose
检查是否安装成功
docker-compose -v5. 下载fabric和fabric-ca
hyperledger-fabric-ca-linux-amd64-1.5.2.tar.gz下载
hyperledger-fabric-linux-amd64-2.3.3.tar.gz下载
# 提供笔者github仓库 git clone https://github.com/1853582/hyperledger-fabric-2.3
获取fabric-sample源码
mkdir -p $GOPATH/src/github.com/hyperledger cd $GOPATH/src/github.com/hyperledger # 获取fabric-samples源码 # 码云版本需要可以下载 #https://gitee.com/hyperledger/fabric-samples git clone https://github.com/hyperledger/fabric-samples.git # 进入目录,切换分支 cd fabric-samples # 可自行选择版本 git checkout v2.3.0 #查看版本 git branch
将fabric和fabric-ca解压(解压出来的bin需要合并在一起)得到bin和config文件夹,放置到fabric-sample目录下
解压命令:tar -zxvf 压缩文件名.tar.gz
用vi打开~./bashrc
vi ~/.bashrc
增加下面的环境变量,保存退出
export PATH=$PATH:$GOPATH/src/github.com/hyperledger/fabric-samples/bin
使环境变量立即生效
source ~/.bashrc
检验环境变量是否成功
fabric-ca-client version6. 拉取最新docker镜像(hyperledger fabric 2.x需要)
# 赋予权限 cd $GOPATH sudo chmod -R 777 ./ # 1.停用全部运行中的容器: docker stop `docker ps -a -q` # 2.删除所有镜像 docker rmi -f $(docker images -qa) # 3.拉最新版本的镜像2.3版本 docker pull hyperledger/fabric-peer:2.3 docker pull hyperledger/fabric-tools:2.3 docker pull hyperledger/fabric-orderer:2.3 docker pull hyperledger/fabric-javaenv:2.3 docker pull hyperledger/fabric-ca:2.3 docker pull hyperledger/fabric-ccenv:2.3 docker pull hyperledger/fabric-baseos:2.3 docker pull hyperledger/fabric-zookeeper:0.4 docker pull hyperledger/fabric-kafka:0.4 docker pull hyperledger/fabric-couchdb:0.4 docker pull hyperledger/fabric-baseimage:0.4 docker pull hyperledger/fabric-membersrvc:latest docker pull library/busybox:latest # 查看 docker images
为了方便配置Docker Compose,将所有镜像的tag都改为latest,执行如下格式的命令:
docker tag IMAGEID(镜像ID) REPOSITORY:TAG(仓库:标签)
docker tag 98fa0bfb0fd2 docker.io/hyperledger/fabric-tools:latest docker tag a491b5ab42f6 docker.io/hyperledger/fabric-peer:latest docker tag 9e1952b8840d docker.io/hyperledger/fabric-orderer:latest docker tag 56fa403e02ee docker.io/hyperledger/fabric-ccenv:latest docker tag b35a8ef578c0 docker.io/hyperledger/fabric-baseos:latest docker tag 9d0214fb481b docker.io/hyperledger/fabric-zookeeper:latest docker tag e94a8ade54af docker.io/hyperledger/fabric-kafka:latest docker tag 339050a439e7 docker.io/hyperledger/fabric-couchdb:latest docker tag 50758b890fb9 docker.io/hyperledger/fabric-baseimage:latest docker tag b3654d32e4f9 docker.io/hyperledger/fabric-membersrvc:latest #注意IMAGE ID需要修改成自己的 # 标签修改完成后查看 docker images7. 运行测试
找到test-network示例
cd $GOPATH/src/github.com/hyperledger/fabric-samples/test-network #启动 sudo ./network.sh up #如果启动失败可能需要先执行停止命令 #停止 sudo ./network.sh down #启动后查看docker容器 sudo docker ps -a
说明:遇到osnadmin: error: parsing arguments: unknown long flag ‘–channel-id’
修改:将./test-network/script/createChannel.sh第40行长标志改为osnadmin channel join --channelID



