最近在做项目,底层用到超级账本Hyperledger Fabric。之前没有接触过这一块,就重头开始研究学习。有很多知识点都是在网上查到的然后就一 一尝试,把遇到坑总结下来。方便后面查看。
Hyperledger Fabric中文帮助文档地址[link] (https://hyperledgercn.github.io/hyperledgerDocs/blockchain_zh/)
Hyperledger Fabric是一个由模块化架构支撑的分布式账本解决方案平台,提供高度的保密性、弹性、灵活性和伸缩性。它被设计支持不同组件的插拔,并且适应经济生态系统的复杂性。
Hyperledger Fabric运行环境需要安装Go语言环境,Docker环境,Docker-Compose环境,下面就介绍下这些环境的安装步骤
1. Go环境安装步骤
1.1 下载源码包
wget https://storage.googleapis.com/golang/go1.10.linux-amd64.tar.gz
1.2安装解压源码包
tar -C /usr/local -xzf go1.10.linux-amd64.tar.gz
1.3创建工作目录
mkdir -p GOPATH goProject.
1.4设置环境变量,使用vim打开,点击i进行文件修改
vim /etc/profile
export PATH=$PATH:/usr/local/go/bin
1.5添加工作目录,可以添加多个工作目录,用:分隔
export GOPATH=/usr/local/GOPATH:/usr/local/goProject
1.6按esc之后:wq保存并退出
source /etc/profile
1.7查看版本命令,出现正确的版本信息就说明安装成功
go version
2.Docker环境安装步骤
2.1 检查linux版本命令如下
$ uname -r
3.10.0-229.el7.x86_64
2.2升级yum安装包,确保都是最新的版本
$ sudo yum update
2.3添加 yum 软件源
sudo tee /etc/yum.repos.d/docker.repo <<-‘EOF’
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
2.4安装 docker-engine
yum install -y docker-engine
2.5配置让 Docker 服务在系统启动后自动启动。
CentOS 7中支持的新式 systemd 语法,如下:
systemctl start docker.service
systemctl enable docker.service
2.6Docker安装完成,查看docker版本详细信息命令
$docker version
2.7Docker启动/重启/停止等命令
添加docker开机启动:systemctl enable docker
启动命令:systemctl start docker
重启命令:systemctl restart docker
停止命令:systemctl stop docker
查看版本:docker version
卸载:yum remove docker-ce
查看窗口端口映射:docker ps
查看所以容器(包括被关闭的):docker ps --all
3.Docker-Compose安装步骤
3.1安装python-pip包
yum install python-pip.noarch
对安装好的pip进行一次升级
sudo pip install --upgrade pip
3.2,使用pip安装docker-compose
pip install docker-compose
3.3查看版本信息
docker-compose version
Docker官方文档地址[link]
(https://docs.docker.com/install/linux/docker-ce/centos/#set-up-the-repository)
4.fabric安装
4.1在GitHub上拉代码到指定目录下
mkdir -p ~/go/src/github.com/hyperledger
cd ~/go/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git
4.2跳转到目录下选择想要的版本,目前最新的版本1.1.0
cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.1.0
4.2切换到e2e_cli目录下,下载fabric镜像文件(x86_64-1.0.0版本可选1.1.0)
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
source download-dockerimages.sh -c x86_64-1.1.0 -f x86_64-1.1.0
查看所有镜像命令 docker images
4.3镜像下载完了之后 在e2e_cli目录下执行命令启动fabric网络:./network_setup.sh up
如果没有出现错误的话会出现end-e2e等大字.
Docker常用命令
杀死所有正在运行的容器
docker kill $(docker ps -a -q)
删除所有已经停止的容器
docker rm $(docker ps -a -q)
删除所有镜像
docker rmi $(docker images -q)
强制删除所有镜像
docker rmi -f $(docker images -q)
例子:docker rmi -f c3e613e95daa
查看节点通道命令:peer channel list