[区块链]Fabric v1.4.0安装部署
作者:互联网
Fabric v1.4.0安装部署
一、前期准备
编号 | 工具 | 版本号 |
---|---|---|
1 | cURL | 最新版(7.63.0) |
2 | Docker | 17.06.2-ce及其以上版本 |
3 | Docker Compose | 1.14.0及其以上版本 |
4 | Go | 1.11.x |
-
cURL最新版安装
默认curl不支持https,需要配置curl https协议
安装openssl:
wget https://www.openssl.org/source/openssl-1.1.0g.tar.gz sudo tar -zxvpf openssl-1.1.0g.tar.gz cd openssl-1.1.0g ./config #默认安装路径/usr/local/ssl make sudo make install #创建软连接 sudo ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1 sudo ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1 #查看版本 openssl version
# 下载最新版的cURL并将其解压到指定目录(此处以/opt目录为例) wget https://curl.haxx.se/download/curl-7.63.0.tar.gz # 下一步:::: sudo tar xzvf curl-7.63.0.tar.gz -C /opt # 编译并安装cURL cd /opt/curl-7.63.0 ./configure -with-ssh=/usr/local/ssl make sudo make install
通过运行
curl --version
查看是否安装成功,若结显示curl版本,则表示安装成功。若未找到curl命令,则需进行如下操作。
# 在/etc/ld.so.conf加入/usr/local/lib这一行内容 sudo echo "/usr/local/lib" >> /etc/ld.so.conf # 执行下列命令使加入的内容生效 sudo /sbin/ldconfig -v
-
Docker和Docker Compose安装
-
Docker(参考Get Docker CE for Ubuntu)
开始安装由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:
sudo apt-get remove docker docker-engine docker-ce docker.io
更新apt包索引:
sudo apt-get update
安装软件包以允许apt通过HTTPS使用存储库:
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
添加Docker官方的GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
使用下面的命令来设置stable存储库:
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
再更新一下apt包索引:
sudo apt-get update
安装最新版本的Docker CE:
sudo apt-get install -y docker-ce
验证docker,查看docker服务是否启动:
systemctl status docker
若未启动,则启动docker服务:
sudo systemctl start docker
经典的hello world:
sudo docker run hello-world
-
Docker Compose
# 下载Docker Compose二进制文件 # !下载特别慢 后来下载速度为0 sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # 备用:curl -L https://get.daocloud.io/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
-
-
Go安装
# 下载go1.11.linux-amd64.tar.gz并将其解压到指定目录(此处为/usr/local) wget https://studygolang.com/dl/golang/go1.11.linux-amd64.tar.gz tar xzvf go1.11.linux-amd64.tar.gz -C /usr/local # 创建$GOPATH mkdir /home/ubuntu mkdir /home/ubuntu/gopath # 编辑goenvset.sh文件 vim goenvset.sh # 文件内容如下所示: cat >> /etc/profile << EOF export GOROOT=/usr/local/go export GOARCH=amd64 export GOOS=linux export GOPATH=/home/ubuntu/gopath export GOBIN=$GOPATH/bin export PATH=$GOPATH/bin:$GOROOT/bin:$PATH EOF # 执行已有的goenvset.sh向/etc/profile中写入相应的环境变量 # 更改goenvset.sh的权限使其可执行 sudo chmod 705 goenvset.sh # 执行goenvset.sh脚本 sudo ./goenvset.sh # 使环境变量生效 source /etc/profile
二、Fabric在线安装
-
将fabric-samples下载到
$GOPATH/src/github.com/hyperledger
目录中mkdir -p $GOPATH/src/github.com/hyperledger cd $GOPATH/src/github.com/hyperledger # 克隆fabric-samples项目并切换到v1.4tag git clone https://github.com/hyperledger/fabric-samples.git cd fabric-samples git checkout -b sample v1.4.0
-
安装Fabric Binaries和Fabric相关的Docker镜像
cd $GOPATH/src/github.com/hyperledger/fabric-samples/scripts # 安装Fabric、Fabric-ca以及第三方Docker镜像(./bootstrap.sh <fabric> <fabric-ca> <thirdparty>) ./bootstrap.sh 1.4.0 1.4.0 0.4.14
值得注意的是,如果由于网络问题,此处通过
bootstrap.sh
脚本安装可能会出错,此时可进行手动安装。安装步骤如下:-
将指定版本的Hyperledger Fabric特定于平台的二进制文件和配置文件安装到fabric-samples的bin和config目录中
#! 这一步失败 原因为网络 但是使用后面的wget也同样无法下载 所以从百度网盘下载后再传到ubuntu # 两个文件的压缩文件下载链接:https://download.csdn.net/download/qq_36254699/12154763 wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.4.0/hyperledger-fabric-linux-amd64-1.4.0.tar.gz wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric-ca/hyperledger-fabric-ca/linux-amd64-1.4.0/hyperledger-fabric-ca-linux-amd64-1.4.0.tar.gz tar xzvf hyperledger-fabric-linux-amd64-1.4.0.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/ tar xzvf hyperledger-fabric-ca-linux-amd64-1.4.0.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/ #向/etc/profile中写入环境变量 sudo echo 'export PATH=$GOPATH/src/github.com/hyperledger/fabric-samples/bin:$PATH' >> /etc/profile #使环境变量生效 source /etc/profile
-
下载相关Docker镜像
# 下载Fabric相关镜像(fabric-peer、fabric-orderer、fabric-ccenv、fabric-tools),此处以fabric-peer镜像为例,其他镜像同理 docker pull hyperledger/fabric-peer:1.4.0 docker tag hyperledger/fabric-peer:1.4.0 hyperledger/fabric-peer:latest ------------------------------------------ docker pull hyperledger/fabric-orderer:1.4.0 docker tag hyperledger/fabric-orderer:1.4.0 hyperledger/fabric-orderer:latest ------------------------------------------ docker pull hyperledger/fabric-ccenv:1.4.0 docker tag hyperledger/fabric-ccenv:1.4.0 hyperledger/fabric-ccenv:latest ------------------------------------------ docker pull hyperledger/fabric-tools:1.4.0 docker tag hyperledger/fabric-tools:1.4.0 hyperledger/fabric-tools:latest # 下载Fabric第三方镜像(fabric-couchdb、fabric-kafka、fabric-zookeeper),此处以fabric-couchdb为例,其他镜像同理 docker pull hyperledger/fabric-couchdb:0.4.14 docker tag hyperledger/fabric-couchdb:0.4.14 hyperledger/fabric-couchdb:latest ------------------------------------------ docker pull hyperledger/fabric-kafka:0.4.14 docker tag hyperledger/fabric-kafka:0.4.14 hyperledger/fabric-kafka:latest ------------------------------------------ docker pull hyperledger/fabric-zookeeper:0.4.14 docker tag hyperledger/fabric-zookeeper:0.4.14 hyperledger/fabric-zookeeper:latest # 下载Fabric CA镜像 docker pull hyperledger/fabric-ca:1.4.0 docker tag hyperledger/fabric-ca:1.4.0 hyperledger/fabric-ca:latest
-
(可选)镜像的备份与恢复
# 将上述Docker镜像存储到fabric-images文件中 docker save $(docker images | grep fabric | grep latest | awk '{print $1}') -o fabric-images # 若需要多机部署,则通过下列命令将其分发到其他机器 scp fabric-images ubuntu@192.168.70.21:~ # 在192.168.70.21上加载上述镜像 docker load -o fabric-images
-
-
通过运行
Build your first network
样例来进行测试、cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network # 编译通过Golang开发的chaincode并启动相关的容器 ./byfn.sh up ./byfn.sh up -l node ./byfn.sh up -o kafka #停止first-network网络中所有的容器,删除crypto材料和4个artifacts(genesis.block、mychannel.block、Org1MSPanchor.tx、Org2MSPanchor.tx)以及chaincode镜像 ./byfn.sh down
补充:
# 华为云Ubuntu16.4在执行up遇到的问题: Error: failed to create deliver client: orderer client failed to connect to orderer.example.com:7050: failed to create new connection: context deadline exceeded # 解决办法: vim /etc/resolv.conf # 将options那一行注释掉就好了
-
将下载的fabric相关的安装文件(包括
fabric-samples
、hyperledger-fabric-linux-amd64-1.4.0.tar.gz
、hyperledger-fabric-ca-linux-amd64-1.4.0.tar.gz
和fabric-images
)汇总到一个文件夹并进行压缩生成fabric-offline-install.tar.gz
三、Fabric离线安装
本节主要介绍如何通过Fabric安装章节提到的fabric-offline-install.tar.gz
来离线安装Fabric。
tar xzvf fabric-offline-install.tar.gz
unzip xzvf fabric-offline-install.tar.gz
cd fabric-offline-install
cp -rf fabric-samples $GOPATH/src/github.com/hyperledger
tar xzvf hyperledger-fabric-linux-amd64-1.4.0.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/
tar xzvf hyperledger-fabric-ca-linux-amd64-1.4.0.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/
sudo echo 'export PATH=$GOPATH/src/github.com/hyperledger/fabric-samples/bin:$PATH' >> /etc/profile
source /etc/profile
docker load -i fabric-images
参考资料
使用couchdb数据库
cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network
./byfn.sh up -s couchdb
./byfn.sh -m down
智能合约区块数据结构分析
进入docker容器:
docker exec -it cli bash
查看区块信息
peer channel getinfo -c mychannel
爱。。
发布了84 篇原创文章 · 获赞 23 · 访问量 2万+
私信
关注
标签:1.4,fabric,tar,sudo,v1.4,docker,区块,hyperledger,Fabric 来源: https://blog.csdn.net/qq_36254699/article/details/104459108