Fabric 超级账本学习【4】Ububtu环境下部署搭建 Hyperledger Fabric2.4 (2.X)区块链网络

Ububtu环境下部署搭建 Hyperledger Fabric2.4 (2.X)区块链网络】

前提使用VMware虚拟机安装好Ubuntu18.04系统(由服务器直接用服务器操作)

在这里插入图片描述

一、安装所需要的工具

sudo apt-get update 
sudo apt-get upgrade
更新源 

sudo apt-get install ssh 
安装远程客户端

sudo apt-get install curl 
安装命令行工具

sudo apt-get install git 
安装git

sudo apt-get install gcc 
安装gcc

sudo apt-get install vim 
安装vi文件编辑器

sudo apt-get install make 
安装make

sudapt-get install python-pip

pip install --upgrade pip

如下图所示,把上面命令依次执行安装就好了:
在这里插入图片描述

二、GO的安装

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

将go文件安装包解压到目录/opt/local下面,输入解压命令:

sudo tar -C /usr/local -xzf go1.17.1.linux-amd64.tar.gz

在这里插入图片描述

接下来设置用户的环境变量:

然后输入命令: vi ~/.profile 载入环境变量到这里面

按i进入输入模式

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

按 Esc 再输入 :wq! 回车,保存退出

在这里插入图片描述

然后输入命令:source ~/.profile,载入环境变量到这里面

输入命令:go version,查看go版本是否安装成功

在这里插入图片描述

然后输入 sudo reboot 重启虚拟机

三、Docker的安装

sudo apt-get install docker.io 

sudo usermod -aG docker +【自己的用户名】

在这里插入图片描述

注销并重新登录(输入 reboot 再回车),然后添加阿里云的Docker Hub镜像:

sudo mkdir -p /etc/docker

sudo vim /etc/docker/daemon.json 
<<-'EOF'
{

 "registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
EOF    

在这里插入图片描述
在这里插入图片描述

接着输入如下命令:

sudo systemctl daemon-reload

sudo systemctl restart docker

在这里插入图片描述

查看docker的版本信息

docker version 

在这里插入图片描述

四、Docker-Compose 的安装

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
sudo mv ~/docker-compose /usr/local/bin/docker-compose 
chmod +x /usr/local/bin/docker-compose

在这里插入图片描述
Docker-Compose 的安装 假如出现如下问题可能是版本不兼容
在这里插入图片描述

执行如下命令:

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

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

检查版本

docker-compose version

在这里插入图片描述

五、Fabric源码下载

我们可以使用Git命令下载源码,首先需要建立对应的目录,然后进入该目录,Git下载源码:

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

进入相对应的目录,输入命令:

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

然后从网上下载 fabric 源码,执行命令:

sudo git clone https://github.com/hyperledger/fabric.git

在这里插入图片描述
由于Fabric一直在更新,所有我们并不需要最新最新的源码,需要切换到v2.4.0版本的源码即可:

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

sudo git checkout v2.4.0

Fabric Docker镜像的下载

如果go文件夹锁住了使用 解锁

sudo chmod -R 777 go

进入/home/ls/go/src/github.com/hyperledger/fabric/scripts目录下,可以看到一个bootsrap.sh脚本
在这里插入图片描述

在该目录下打开终端,运行该文件./bootstrap.sh,输入命令:

./bootstrap.sh    

在这里插入图片描述

网络原因多试几次 需要下载的镜像挺多的

下载完成后用 docker images 查询如下图安装成功
在这里插入图片描述

六、启动网络

上一步安装完成后,会创建一个fabric-sample文件夹,进入test-network文件夹,输入命令:cd fabric-samples/test-network,如下图所示

test-network目录中,运行以下命令删除先前运行的所有容器或工程:

./network.sh down

在这里插入图片描述
通过执行以下命令来启动网络。

./network.sh up

部署测试网络后,您看到由network.sh脚本创建的三个节点:

!!!!!!!!!假如启动失败,可能之前测试网络时出现重复或者已经存在的镜像,删除即可

docker ps -qa | xargs docker stop

docker ps -qa | xargs docker rm

在这里插入图片描述
启动网络

./network.sh up 

在这里插入图片描述

network.sh脚本在Org1和Org2之间创建通道并加入他们的对等节点。 运行以下命令以创建一个默认名称为“ mychannel”的通道:

./network.sh createChannel

命令成功执行,可看到以下消息打印在您的日志:

========= Channel successfully joined ===========

在这里插入图片描述

也可以使用channel标志创建具有自定义名称的通道。 作为一个例子,以下命令将创建一个名为channel1的通道:

./network.sh createChannel -c channel1

通道标志还允许创建多个不同名称的多个通道。 创建mychannelchannel1之后,可以使用下面的命令创建另一个名为channel2的通道:

./network.sh createChannel -c channel2

如果想一步建立网络并创建频道,则可以使用upcreateChannel模式一起:

./network.sh up createChannel

使用network.sh创建频道后,可以使用以下命令在通道上启动链码:

./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go

在这里插入图片描述

启动连码

./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go

在这里插入图片描述

报错,添加go代理

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

go env  查看 go 代理配置

在这里插入图片描述

再次启动链码

启动成功

七、启动 Couchdb

如果想要同时启动CA服务器和couchdb,执行这条指令:

./network.sh up createChannel -ca -s couchdb

在这里插入图片描述

访问couchdb网址

localhost:5984/_utils   

用户名和密码一般默认是: admin和 adminpw
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42694422/article/details/129498459