Fabric 多机环境搭建(ubuntu)

Fabric 多机环境搭建(ubuntu)

1、基本环境搭建

(1)配置GO、JAVA环境

下载最新golang 当时为1.14.6

golang官网:https://golang.org/dl/

wget https://studygolang.com/dl/golang/go1.15.linux-amd64.tar.gz

解压

tar -zxvf go1.15.linux-amd64.tar.gz -C /usr/local/

tips:如果要更新go的版本需要先删除之前/usr/local/go文件夹

安装jdk
https://www.oracle.com/java/technologies/javase-jdk14-downloads.html

解压

mkdir /opt/jdk -p

tar -zxvf jdk-12.0.1_linux-x64_bin.tar.gz -C /opt/jdk

配置环境变量

vim /etc/profile

将以下内容添加至/etc/profile文件末尾

export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go   #GO工作目录
export PATH=$PATH:/root/go/bin

export JAVA_HOME=/opt/jdk/jdk-14
export CLASSPATH=.:{JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

重新载入profile文件

source /etc/profile

(2)安装docker

https://docs.docker.com/engine/install/ubuntu/

安装校验

docker version

(3)安装gcc

查看是否安装有gcc

gcc --version

若没有则进行安装:

centos7执行以下指令安装:

yum -y install gcc gcc-c++ autoconf make

ubuntu执行以下指令安装:

apt-get build-dep gcc

2、开始部署fabric2.0

(1)安装docker-compose

Docker-compose是支持通过模板脚本批量创建Docker容器的一个组件。

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose

sudo chmod +x /usr/bin/docker-compose

(2)Fabric源码下载

go get github.com/hyperledger/fabric

这个可能等的时间比较久,等完成后,我们可以在~/go/src/github.com/hyperledger/fabric中找到所有的最新的源代码。

设置版本

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

git checkout release-2.1

编译

make all

3、多机环境部署

服务器分配

服务器ip10.190.80.1010.190.80.2510.190.80.41
OrderOrder1:7050Order2:7050Order3:7050
PeerPeer0.org1:7051 -> couchdb1:5984Peer1.org1:7051 -> couchdb1:5984 Peer1.org2:8051 -> couchdb2:6984Peer0.org2:7051 -> couchdb1:5984
CLICLICLICLI

配置域名解析

10的/etc/hosts文件如下:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 orderer1.example.com peer0.org1.example.com
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.190.80.25 orderer2.example.com peer1.org1.example.com peer1.org2.example.com
10.190.80.41 orderer3.example.com peer0.org2.example.com

25的/etc/hosts文件如下:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 orderer2.example.com peer1.org1.example.com peer1.org2.example.com
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

10.190.80.10 orderer1.example.com peer0.org1.example.com
10.190.80.41 orderer3.example.com peer0.org2.example.com

41的/etc/hosts文件如下:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 orderer3.example.com peer0.org2.example.com
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.190.80.10 orderer1.example.com peer0.org1.example.com
10.190.80.25 orderer2.example.com peer1.org1.example.com peer1.org2.example.com

证书配置

只需要在一台服务器通过crypto-config.yaml配置生成证书,并复制到其他服务器的证书目录中。

在10服务器生成证书:

./cryptogen generate --config=./crypto-config.yaml

复制到另外两台服务器:

scp -r ./crypto-config/* root@10.190.80.25:/home/ubuntu/test/multi_node/crypto-config/

scp -r ./crypto-config/* root@10.190.80.41:/home/ubuntu/test/multi_node/crypto-config/

通道配置

只需要在一台服务器通过configtx.yaml配置生成创世块、通道信息,并复制到其他服务器中。

生成创世区块

./configtxgen -profile SampleMultiNodeEtcdRaft -channelID sys-channel -outputBlock ./channel-artifacts/genesis.block

生成通道配置区块

./configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/mychannel.tx -channelID mychannel

生成锚节点信息

./configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID mychannel -asOrg Org1MSP

./configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID mychannel -asOrg Org2MSP

附录

停止并删除所有容器

docker stop $(docker ps -a -q)

docker rm $(docker ps -a -q)

docker volume prune -f

docker network prune -f

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值