hyperledger fabric1.0部署实操

首先要做一些准备工作:

  • 如果你的系统是windows,那么需要先安装virtual box,我用的版本是5.1.26。
  • 下载一个64位ubuntu16.4桌面版的文件。
  • 去bios中设置系统识别64位系统。

安装过程很简单,有几项需要注意:选“其他选项”手工设置分区的时候,根目录要设置的大一些,我设置为10G;交换空间5G,/boot 1G,其他都分给了home。时区选上海,语言默认选汉语即可。完成后在virtualbox的设置中把软驱和光驱去掉。

登入ubuntu后,可以先给root设置密码,更新一个国内的源(例如阿里、豆瓣等都可),然后执行sudo apt update更新源,并执行sudo apt install curl(后面都要用到curl来安装)。

第一步、安装docker

我用的是daocloud的服务:curl -sSL https://get.daocloud.io/docker | sh (有可能一次不成功,再试一次)

添加当前用户到docker:    sudo usermod -aG docker zpc  (zpc是我的用户名)

修改 Docker 服务配置:    sudo vi /etc/default/docker     添加DOCKER_OPTS="$DOCKER_OPTS -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --api-cors-header='*'"

设置国内Daocloud的Docker加速器地址:curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://8d37c888.m.daocloud.io

重启docker:        sudo service docker restart

以上几步完成就ok了,然后可以做个测试:

把测试程序down到本地:docker pull hello-world

测试命令:docker run hello-world  (成功会看到返回hello world信息)

第二步、安装docker-compose

安装pip:        sudo apt-get install python-pip

安装docker compose:

curl -L https://get.daocloud.io/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

修改权限:        chmod +x /usr/local/bin/docker-compose

用docker-compose -v看看成功安装后的版本

第三步、安装GO

不要用系统自带的方式sudo apt-get install golang-go,这个版本太低了,直接从官网下:

wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz

解压:sudo tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz

然后编辑文件:vi ~/.profile

export PATH=$PATH:/usr/local/go/bin 
export GOROOT=/usr/local/go 
export GOPATH=$HOME/go 
export PATH=$PATH:$HOME/go/bin

保存退出后生效文件:source ~/.profile

建个目录:cd ~
    mkdir go

用go version看看安装成功的版本号

做个测试,用vim testgo.go编个小程序:

package main
 
    import (
        "fmt"
         "runtime"
    )

    func main() {
        fmt.Println("Hellow World!", runtime.Version())
    }

保存退出后,执行go run testgo.go看看效果。

第四步、手工下载fabric

mkdir -p ~/go/src/github.com/hyperledger

cd ~/go/src/github.com/hyperledger

git clone https://github.com/hyperledger/fabric.git  (这个会比较慢)

cd ~/go/src/github.com/hyperledger/fabric

fabric一直在更新,不需要跟着最新版本,切换到1.0版本即可:

git checkout -b v1.0.0

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/

这里开始正式down:

source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0 (很慢,耐心一点)

第五步、操作fabric

脚本启动:./network_setup.sh up 

成功后会出现提示,这时候打开一个新的命令行窗口,进入cli:

docker exec -it cli bash

查询A账户余额   peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'     查询结果应该有90

把a账户的余额再转20元给b账户:

peer chaincode invoke -o orderer.example.com:7050  --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem  -C mychannel -n mycc -c '{"Args":["invoke","a","b","20"]}'

再查询A账户余额,应该只剩下70.

执行exit可以退出cli

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli 关闭fabric:  ./network_setup.sh down

相关文章