Fabric 环境搭建

1. 已搭好的环境:Linux使用CentOS, Docker 已搭好,Git已安装

    补充docker搭建环境:

我们可以使用阿里提供的镜像,安装也非常方便。通过以下命令来安装Docker

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

安装完成后需要修改当前用户(我使用的用户叫fabric)权限:

usermod -aG docker fabric

注销并重新登录,然后添加阿里云的Docker Hub镜像:

复制代码
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
复制代码

2. go环境搭建

 1)$ curl -O https://www.golangtc.com/static/go/1.9.2/go1.9.2.linux-amd64.tar.gz

 下载完成后,减压目录,移动到合适位置(推荐为/usr/local)

 $ tar -xvf go1.9.2.linux-amd64.tar.gz

$sudo mv go /usr/local

2) 配置GOPATH 环境变量

export GOPATH=随便目录/GO (ps: 随便目录可以是自己的任何一个准备编译Fabric 的目录,GO 文件夹需要自己创建)

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

ps:这种添加方法关闭命令窗口就失败了,需要重新添加

可以将上面内容添加到 ~/.bashrc 中,每次启动就不会消失了。

3.Docker-Compose的安装

安装Python-pip,运行指令: 
sudo yum install python-pip 
然后安装docker-compose

sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

4. 下载Frabric

在步骤2 的2)中的“随便目录”下创建GO目录(如果没有创建),GO下创建src/github.com/hyperledger目录,cd进入hyperledger.执行下面:

git clone https://github.com/hyperledger/fabric.git
#切换到1.0.0 版本 一定要切换,否则后面版本Images 不同导致网络运行报错
cd fabric
git checkout v1.0.0

5.编译configtxgen工具

cd $GOPATH/src/github.com/hyperledger/fabric
make configtxgen
# 如果出错:'ltdl.h' file not found 如果是ubuntu
sudo apt install libtool libltdl-dev
#如果是centOS 
yum install -y libtool-ltdl*
# 然后再运行make
make configtxgen

编译成功后输出:

build/bin/configtxgen
CGO_CFLAGS=" " GOBIN=/Users/johndoe/work/src/github.com/hyperledger/fabric/build/bin go install -ldflags "-X github.com/hyperledger/fabric/common/metadata.Version=1.0.0-snapshot-8d3275f -X github.com/hyperledger/fabric/common /metadata.BaseVersion=0.3.0 -X github.com/hyperledger/fabric/common/metadata.BaseDockerLabel=org.hyperledger.fabric"       github.com/hyperledger/fabric/common/configtx/tool/configtxgen
Binary available as build/bin/configtxgen``

编译后执行文件放在Fabric目录下的的build/bin/configtxgen

6.执行完整脚本

为了加快部署过程,我们提供了一个脚本来执行所有任务。执行该脚本会生成配置结果、本地网络、Chaincode测试。

进入examples/e2e_cli目录,首先从Docker Hub拉取镜像:

# 使脚本可执行
chmod +x download-dockerimages.sh
# 执行脚本
./download-dockerimages.sh

这个过程会需要几分钟,脚本执行后输出:

===> List out hyperledger docker images
hyperledger/fabric-ca          latest               35311d8617b4        7 days ago          240 MB
hyperledger/fabric-ca          x86_64-1.0.0-alpha   35311d8617b4        7 days ago          240 MB
hyperledger/fabric-couchdb     latest               f3ce31e25872        7 days ago          1.51 GB
hyperledger/fabric-couchdb     x86_64-1.0.0-alpha   f3ce31e25872        7 days ago          1.51 GB
hyperledger/fabric-kafka       latest               589dad0b93fc        7 days ago          1.3 GB
hyperledger/fabric-kafka       x86_64-1.0.0-alpha   589dad0b93fc        7 days ago          1.3 GB
hyperledger/fabric-zookeeper   latest               9a51f5be29c1        7 days ago          1.31 GB
hyperledger/fabric-zookeeper   x86_64-1.0.0-alpha   9a51f5be29c1        7 days ago          1.31 GB
hyperledger/fabric-orderer     latest               5685fd77ab7c        7 days ago          182 MB
hyperledger/fabric-orderer     x86_64-1.0.0-alpha   5685fd77ab7c        7 days ago          182 MB
hyperledger/fabric-peer        latest               784c5d41ac1d        7 days ago          184 MB
hyperledger/fabric-peer        x86_64-1.0.0-alpha   784c5d41ac1d        7 days ago          184 MB
hyperledger/fabric-javaenv     latest               a08f85d8f0a9        7 days ago          1.42 GB
hyperledger/fabric-javaenv     x86_64-1.0.0-alpha   a08f85d8f0a9        7 days ago          1.42 GB
hyperledger/fabric-ccenv       latest               91792014b61f        7 days ago          1.29 GB
hyperledger/fabric-ccenv       x86_64-1.0.0-alpha   91792014b61f        7 days ago          1.29 GB

7. 现在运行完整脚本:

./network_setup.sh up <channel-ID>

如果没有设置channel-ID参数,channel名默认是mychannel。脚本执行成功后输出:

===================== Query on PEER3 on channel 'mychannel' is successful =====================

===================== All GOOD, End-2-End execution completed =====================

此时,网络启动运行并测试成功。

 
 

修改world state 数据库为couchDB

cd ~/fabric
mkdir couchdb0 
 docker run -p 5984:5984 -d --name couchdb0 -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password -v ~/fabric/couchdb0:/opt/couchdb/data klaemo/couchdb 




猜你喜欢

转载自blog.csdn.net/xxzjwdnlwx/article/details/79161545
今日推荐