前面这篇fabric 1.4网络搭建以及fabric浏览器搭建文章是基于fabric的docker镜像来搭建的fabric网络,所以就在想能不能做基于源码的编译呢,于是就有了如下这篇源码编译文章
环境准备
一台空闲服务器,需要安装docker和go环境,需要联网,安装步骤自行百度
需要注意的是:
1.fabric 2.x版本需要的go版本需要>=1.14.1版本,否则编译的时候会报错,
2.还有就是其他文章中说的设置GOPATH目录,其实它是一个go的工作目录(工作目录用来存放Go的源码,Go的可运行文件以及相应的编译之后的包文件,即src,bin,pkg),在go1.8之后,如果不设置这个值的话,默认目录是~/go。GOPATH不需要设置到PATH中,设置好GO的安装目录后,会自动寻找GOPATH,具体详情可参考gopath的官方解释
3.还需要注意的一点是go的工作目录不能和安装目录不能一样
由于使用的是mac,并且没有设置GOPATH,所以默认就是在我的账户下面的go目录下
源码下载及编译
源码下载
切换到GOPATH目录下,在src/github.com
下新建文件夹hyperledger
,并切换到hyperledger
目录下,使用git下载fabric官方的源代码,并将分支切换到release-2.x
版本,注意2.x指的是2.0以及以上的任意版本
需要注意的是,一定要在GOPATH的目录下的
src/github.com/hyperledger
目录下下载fabric源代码,至于为什么,可以查看Makefile的内容
代码编译
切换到fabric的目录下,执行make release
,等待执行完成即可
至此,fabric 2.x的代码编译完成,可以在fabric根目录下的这个位置看到编译完成的这些命令