Compile the source code

Step 1. 安裝git

sudo apt-get install git

Step 2. 安裝vagrant(ubuntu系統)

下載地址https://releases.hashicorp.com/vagrant/1.8.6/vagrant_1.8.6_x86_64.deb,然後雙擊,install即可。

在命令列中執行which vagrant,結果為/usr/bin/vagrant,說明安裝成功

Step 3.安裝VirtualBox

https://www.virtualbox.org/wiki/Linux_Downloads

Step 4.安裝go

下載Go語言安裝包https://storage.googleapis.com/golang/go1.7.1.linux-amd64.tar.gz

在命令列執行如下命令: sudo tar -C /usr/local -xzf go1.7.1.linux-amd64.tar.gz

Step 5.下載ubuntu映象

p { margin-bottom: 0.1in; line-height: 120% }

https://atlas.hashicorp.com/hyperledger/boxes/fabric-baseimage/versions/0.1.0/providers/virtualbox.box

Rename the filename to blockchain.iso(whatever you what to call,It doesn't matter)

Step 6.vim ~/.profile配置如下引數

p { margin-bottom: 0.1in; line-height: 120% }
a:link { }
vim ~/.profile配置如下引數
--> { }
p { margin-bottom: 0.1in; line-height: 120% }
a:link { }
vim ~/.profile配置如下引數
--> { }

export GOROOT=/usr/local/go

export GOPATH=/opt/gopath

export GOBIN=/usr/local/go/bin

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

save and then run  source ~/.profile

Step 7.建立GOPATH路徑

cd /opt
sudo mkdir gopath
sudo chown -R gupp:gupp gopath //change the owner and group to your computer

Step 8.建立farbic相關目錄

cd $GOPATH
mkdir -p src/github.com/hyperledger
cd github.com/hyperledger

Step 9:下載程式碼

fork the source code to your own git repositories

git clone https://github.com/minxinfeng/fabric.git //the fabric must be in the folder $GOPATH/src/github.com/hyperledger

pre.cjk { font-family: "Nimbus Mono L", monospace }
p { margin-bottom: 0.1in; line-height: 120% }
a:link { }

10.Attach the box we downloaded into vagrant:

cd $GOPATH/src/github.com/hyperledger/fabric/devenv
vagrant box add --name hyperledger/fabric-baseimage  /home/gupp/blockchain.iso

11.Modify the file Vagrantfile

comment these commands:

#./setup #that means it will run setup file to do somethings

#config.vm.box_version = ENV[

12.Start virtualbox using command   vagrant up  ,can refer this document:fabric devenv Vagrantfile配置

13.SSH to virtualbox and do something using command  vagrant ssh

14.The
following steps we will do in the VM
, and in folder
$GOPATH/src/github.com/hyperledger/fabric/devenv

setup.sh
do the following things, so we split it into seveal parts to run

1)Install docker and
start the docker service

2)Install some
useful commands by  /hyperledger/scripts/provision/host.sh, such
as docker-compose/python-dev/libyaml-dev/Python
grpc/Tcl/NPM/Jdk/Gradle.

Note:The
docker-compose and gradle are downloaded from network. I changed to
download it first and then using local file to install

3)compile the
commads by    make clean peer

4) set the
environment

Then, we can in
folder fabric to make images and memberserv

make images  //Then
using command docker images can find the images we just made

make memberserv

Note:DO
NOT USE SUDO

15. Package
our box

cd $GOPATH/src/github.com/hyperledger/fabric/devenv
vagrant package

now we get the package.box that can be used in other Ubuntu System following the next steps.

Install on other Ubuntu System with the package.box generated

1.Do the same thing following the above steps: step2,3,4,6,7,8

2.Copy the fabric folder(with the compiled files) into folder $GOPATH/src/github.com/hyperledger

3.Attach the box we packaged into vagrant:

cd $GOPATH/src/github.com/hyperledger/fabric/devenv
vagrant box add --name hyperledger/fabric-baseimage  /home/gupp/package.box

4.Modify the file Vagrantfile

comment these commands:

#./setup #that means it will run setup file to do somethings

#config.vm.box_version = ENV[

5.Start virtualbox using command  vagrant up ,can refer this document:fabric devenv Vagrantfile配置

6.SSH to virtualbox and do something using command  vagrant ssh

And now we install it, enjoy your blockchain

Problems

Run commands 1-8 in a virtualbox running on Windows:

//進入devenv所在資料夾
cd $GOPATH/src/github.com/hyperledger/fabric/devenv
//執行如下命令
vagrant up
//該命令列直接下載ubuntu映象,下載地址https://atlas.hashicorp.com/hyperledger/boxes/fabric-baseimage/versions/0.0.11/providers/virtualbox.box
vagrant ssh

vagrant執行完成之後,報錯,因為在虛擬機器中無法再次開啟虛擬機器,因此只能在真機上進行環境部署。錯誤資訊如下:

TBD

1. core/chaincode/shim/java/javabuild.sh How to configure the jar by using local jar

2. make gotools :There have some questions

資料庫位置/var/hyperledger/production