文章目录
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
通道标志还允许创建多个不同名称的多个通道。 创建mychannel
或channel1
之后,可以使用下面的命令创建另一个名为channel2
的通道:
./network.sh createChannel -c channel2
如果想一步建立网络并创建频道,则可以使用up
和createChannel
模式一起:
./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