参考区块链 原理、设计与应用这本书进行配置环境,但是完全按照书上进行配置,环境会报错。
本人参考此书,记录Fabric Ca 环境搭建过程
前提:已安装docker环境配置
安装Docker
Fabric网络目前依赖 Docker服务作为链码容器的支持,因此即使是本地环境运行Fabric网络,也需要在Peer节点上安装 Docker环境。推荐使用1.12或者更新的版本。
Linux操作系统下可以通过如下命令来快速安装 Docker最新版:
$ curl -fsSL https://get.docker.com/ | sh
(ubuntu刚刚使用不知道怎么截图,这里都没有配图)
运行环境:ubuntu 16.04 配置的go版本位 1.8.4
一、首先配置go环境
1.1先执行命令 $curl -O https://www.golangtc.com/static/go/1.8.4/go1.8.4.linux-amd64.tar.gz (下载会稍微慢一些,耐心等待)
我下载的是1.8.4版本,需要版本的可去https://www.golangtc.com/download网站找对应的版本,替换上面的https链接就OK。
1.2下载完成,解压目录,移动到相应位置
$ tar -xvf go1.8.4inux-amd64.tar.gz //其他版本的go把对应的版本号1.8.4替换即可
$ sudo mv go /usr/local
1.3配置GOPAT环境
export GOPATH=/opt/gopath //这是工作目录 ,在之前要先创建好对应的文件夹
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
export GOROOT=/usr/local/go // 安装目录 //(一定要加这一句,不然goget Fabric CA 会报错“import path does not begin with hostname”)
1.3.1本人还遇到了一个很神奇的BUg,就是在使用ROOT权限执行 go version 命令时,竟然提示没有安装go环境,而在普通权限下执行却能执行命令得到相应的版本号。
lushuai@lushuai:~$ go version
go version go1.8.4 linux/amd64
lushuai@lushuai:~$
关于这个问题我是这么解决的
配置全局变量:在弹出的文件最后面把环境变量前两行代码添加上去
$ sudo gedit ~/.bashrc
export GOPATH=/opt/gopath
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
执行$ source ~/.bashr 让代码配置生效。
1.3.2注意注意 如果上面方法解决不了,执行
$ sudo vim /etc/profile
将下列两行代码放入文件尾部
(进入之后 ,按 insert 按键 进行输入,将下面的代码添加在最后面就行)
export GOPATH=/opt/gopath
export GOROOT=/usr/local/go
然后按ESC按键 输入 冒号 wq 格式如“ :wq ”() 按回车建即可
这样就为安装Fabric Ca的 go环境配置好了。
二、安装依赖包
编译 Fabric相关代码,需要一些依赖包,可以通过如下命令安装:
$ sudo apt install libltool libtdl-dev
三、安装Fabric CA (此命令一定要在ROOT权限下进行,执行命令 $ sudo su输入开机密码便可进入ROOT权限 )
有4种方法
3.1本地编译
3.1.1 第一种 执行下面命令
$ go get -u -ldflags " -linkmode external -extldflags '-static -lpthread'" github.com/hyperledger/fabric-ca/cmd/...
3.1.2 第二种 或者执行下面命令
go get -u github.com/hyperledger/fabric-ca/cmd/...
3.2 Docker镜像快速编译
3.2.1或者 第三种
docker pull hyperledger/fabric-ca
3.2.2 或者 第4种
docker pull yeasy/hyperledger-fabric-ca
docker tag yeasy/hyperledger-fabric-ca hyperledger/fabric-ca
建议选 3.2.2这种,速度快些 再者 3.1.2这种 ,
然后输入 $ fabric-ca-server -h 验证即可。
Fabric