环境搭建 - Agzs/geth-pbft-study GitHub Wiki

编译运行方式

本系统需要go-1.8及以上版本进行编译,编译采用sudo go install -v ./...形式编译。

1、配置gopath

打开$GOPATH目录,删除已存在的bin、src、pkg文件夹,命令行运行git lfs clone https://github.com/Agzs/gopath.git

注:后期发现git lfs存在带宽和存储限制,无法使用,所以改用ftp进行传输

然后解压缩,命令行运行unzip gopath.zip,用解压后的gopath替换原来的gopath,删除gopath.zip

注:必须使用上述gopath,否则编译的时候会出现一些包的问题,诸如rocksDB的c语言问题,ethereum和fabric的vendor问题等

2、clone本项目

pbft版本:命令行运行git clone https://github.com/Agzs/geth-pbft.git yeongchingtarn/geth-pbft

普通用户版:命令行运行git clone https://github.com/Agzs/geth-client.git yeongchingtarn/geth-client

3、编译

先安装librocksdb.so.4.1的共享库

在geth-pbft或geth-client目录,命令行运行sudo go install -v ./...

编译运行前,一定要通过go env检查环境变量配置:

GOARCH="amd64"
GOBIN="/usr/local/go/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
...

由于gopath整个目录的包都是在amd64下搭建的,在新的ubuntu系统中如果将GOARCH="386",可能会提示如下错误:

 no buildable Go source files in ...

go install: cannot install cross-compiled binaries when GOBIN is set

无法交叉编译,需要去掉$GOBIN的变量声明,解决方法如下:

export GOPATH=`pwd`
mkdir bin
cp $GOBIN/go-bindata bin
unset GOBIN

4、运行

geth-pbft

geth-client,和geth-pbft类似。

5、交易

转账交易