安裝go
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
tar -xvf go1.8.3.linux-amd64.tar.gz
mv go /usr/local/
mkdir -p /root/golang
vim /etc/profile
export GOPATH=/root/golang
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
source /etc/profile
為解決fabric編譯報(bào)錯(cuò):can't load package: package github.com/hyperledger/fabric/peer: open /opt/gopath/src/github.com/hyperledger/fabric/peer: permission denied
ln -s $GOPATH /opt/gopath
安裝依賴包
apt-get update
apt-get install -y libsnappy-dev zlib1g-dev libbz2-dev libltdl-dev libtool
安裝docker
curl -fsSL https://get.docker.com/ | sh
安裝docker-compose(本節(jié)暫時(shí)未用到)
pip install docker-compose
Fabric源碼下載
git clone https://github.com/hyperledger/fabric $GOPATH/src/github.com/hyperledger/fabric
git clone https://github.com/hyperledger/fabric-ca $GOPATH/src/github.com/hyperledger/fabric-ca
或
go get github.com/hyperledger/fabric
go get github.com/hyperledger/fabric-ca
編譯fabric代碼
cd $GOPATH/src/github.com/hyperledger/fabric
make native
make docker
cp build/bin/* $GOPATH/bin/
解決編譯fabric過程中報(bào)錯(cuò)
如下為解決:package golang.org/x/tools/go/gcexportdata: unrecognized import path "golang.org/x/tools/go/gcexportdata"
git clone https://github.com/golang/tools.git $GOPATH/src/golang.org/x/tools
如下為解決:cp: cannot stat ‘build/docker/gotools/bin/protoc-gen-go’: No such file or directory
go get github.com/golang/protobuf/protoc-gen-go
cd $GOPATH/src/github.com/golang/protobuf/
make all
cd $GOPATH/src/github.com/hyperledger/fabric
cp $GOPATH/bin/protoc-gen-go build/docker/gotools/bin/
如下為解決:./scripts/golinter.sh: line 28: goimports: command not found
apt install golang-golang-x-tools
編譯fabric-ca代碼
cd $GOPATH/src/github.com/hyperledger/fabric-ca
make docker