环境:
OS:Ubuntu 16.04.4 LTS xenial (lsb_release -a)
Docker: 18.03.0-ce (docker version)
Docker-compose: 1.20.1 (docker-compose version)
go: 1.10.1 (go version) ==》超级账本要求安装1.9.x及以上版本
node: v9.6.0 (node -v) ==》超级账本要求安装6.9.x及以上版本
npm: 3.10.10 (npm -v)
python:2.7.12 (python -V) ==》 Ubuntu16.04默认自带Python 3.5,由于Fabric Node.js SDK的npm install命令需要的是python 2.7
环境安装:
首先在$HOME目录下运行命令:
mkdir -p opt/gopath
创建/opt/gopath目录,此处为go环境安装目录(是fabric各代码内的寻找go包的默认路径,也可自定义路径,但比较麻烦,需要修改代码内各处路径)。
设置环境变量:
sudo vim ~/.bashrc
添加一行:
export GOPATH=$HOME/opt/gopath
在PATH内添加上$GOPATH/bin,若无PATH,则加一个PATH,如:
export PATH=$PATH
退出,使bashrc生效:
source ~/.bashrc
可用命令echo $GOPATH查看一下,是否生效。
前期准备工作到此为止,下面安装fabric运行所需环境:
1.Docker,网络不行,选择离线下载:https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/
docker-ce_18.03.0~ce-0~ubuntu_amd64.deb
sudo dpkg -i docker-ce_18.03.0~ce-0~ubuntu_amd64.deb安装
安装完后docker服务会自行启动。
也可以使用wget url下载文件。
使用docker version查看是否安装成功。
2.Docker-compose,选择离线下载:
https://github.com/docker/compose/releases
docker-compose-Linux-x86_64
将它拷贝到usr/local/bin目录下,将docker-comose-Linux-x86_64改名为docker-compose:
修改docker-compose权限:
chmod +x /usr/local/bin/docker-compose
也可以使用wget url下载文件。
使用docker-compose version查看是否安装成功。
3.go:选择离线下载:
https://golang.org/dl/
go1.10.1.linux-amd64.tar.gz
也可用wget https://www.golangtc.com/static/go/1.9.2/go1.9.2.linux-amd64.tar.gz获取。
将下载的包解压到$GOPATH目录下。
这里若使用go version命令无法找到go或者go所显示的为非1.10.1,可使用软连接命令:
sudo ln -s /home/hfang/opt/gopath/bin/go /usr/bin/go
4.node和npm安装,nodejs本质上说就是一个运行在服务端的封装好了的输入输出流js程序。它很巧妙的使用单线程的事件循环来处理高吞吐量和非堵塞IO,同时它也提供通过操作系统读写文件和网络操作功能的平台层。npm是随node一起安装的包管理工具,能解决node代码部署上很多问题,常见使用场景有如下几种:
①运行用户从npm服务器下载别人编写的第三方包到本地使用
②运行用户从npm服务器下载并安装别人编写的命令行程序到本地使用
③运行用户将自己编写的包或命令行程序上传到npm服务器供别人使用
官网离线下载并解压:
wget http://nodejs.org/dist/v9.6.0/node-v9.6.0-linux-x64.tar.gz
若系统有自带node可用命令先删除:
sudo apt-get remove nodejs
可用命令查找是否还有node残留,有就手动删除:
find ~/ -name node
最后需要在~/.bashrc中添加一行环境变量:
export NODEPATH=$HOME/node/node-v9.6.0-linux-x64
在PATH中也添加$NODEPATH/bin
若node -v查看不是v9.6.0,还可使用软连接:
sudo ln -s /home/hfang/node/node-v9.6.0-linux-x64/bin/node /usr/bin/node
npm安装可直接使用命令行:
sudo apt-get install npm
要更新到3.10.10版本:
sudo npm install [email protected] -g
也可用软连接解决一些问题。
==20180622 added==>begin
node安装第二种方式,这种方式更简单:
先安装nvm node版本管理器:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
再启动nvm:
source ~/.nvm/nvm.sh
最后直接安装node:
nvm install node
会安装最新版本的node,若安装完后不是最新版本可使用以下命令切换到该版本:
nvm use node
==20180622 added==>end
5.python安装2.7,直接:
sudo apt-get install python
下面创建工作目录(使用默认目录)下载源码并编译:
1.进入$GOPATH下的src目录下运行命令:
mkdir -p github.com/hyperledger
创建目录github.com/hyperledger,并cd github.com/hyperledger,下载fabric源码:
git clone –recurse https://github.com/hyperledger/fabric.git
下载完成后,可用git status查看当前分支版本,可用git tag查看当前包含的所有分支版本,可用git checkout v1.1.0来将当前版本切换到v1.1.0版。
2.进入目录/fabric/scripts,执行bootstrap.sh,下载docker镜像:
3.镜像下载完后,将该目录下生成的bin目录拷贝到../examples目录下
4.再进入到../examples/e2e_cli目录运行e2e_cli实例,执行命令./network_setup.sh up
整个Fabric网络到此正常运行。