前面這篇fabric 1.4網(wǎng)絡(luò)搭建以及fabric瀏覽器搭建文章是基于fabric的docker鏡像來搭建的fabric網(wǎng)絡(luò),所以就在想能不能做基于源碼的編譯呢,于是就有了如下這篇源碼編譯文章
環(huán)境準(zhǔn)備
一臺(tái)空閑服務(wù)器,需要安裝docker和go環(huán)境,需要聯(lián)網(wǎng),安裝步驟自行百度
需要注意的是:
1.fabric 2.x版本需要的go版本需要>=1.14.1版本,否則編譯的時(shí)候會(huì)報(bào)錯(cuò),
2.還有就是其他文章中說的設(shè)置GOPATH目錄,其實(shí)它是一個(gè)go的工作目錄(工作目錄用來存放Go的源碼,Go的可運(yùn)行文件以及相應(yīng)的編譯之后的包文件园爷,即src,bin,pkg),在go1.8之后,如果不設(shè)置這個(gè)值的話,默認(rèn)目錄是~/go。GOPATH不需要設(shè)置到PATH中裁着,設(shè)置好GO的安裝目錄后尊流,會(huì)自動(dòng)尋找GOPATH,具體詳情可參考gopath的官方解釋
3.還需要注意的一點(diǎn)是go的工作目錄不能和安裝目錄不能一樣
由于使用的是mac,并且沒有設(shè)置GOPATH,所以默認(rèn)就是在我的賬戶下面的go目錄下
源碼下載及編譯
源碼下載
切換到GOPATH目錄下,在src/github.com
下新建文件夾hyperledger
,并切換到hyperledger
目錄下,使用git下載fabric官方的源代碼,并將分支切換到release-2.x
版本,注意2.x指的是2.0以及以上的任意版本
需要注意的是,一定要在GOPATH的目錄下的
src/github.com/hyperledger
目錄下下載fabric源代碼,至于為什么,可以查看Makefile的內(nèi)容
代碼編譯
切換到fabric的目錄下,執(zhí)行make release
,等待執(zhí)行完成即可
至此,fabric 2.x的代碼編譯完成,可以在fabric根目錄下的這個(gè)位置看到編譯完成的這些命令