本篇内容主要讲解“Linux中搭建Fabric的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中搭建Fabric的方法”吧!
fabric是由IBM贡献的超级账本框架。它是一个利用现有成熟的技术来组合而成的一个区块链技术的实现。它是一种允许可插拔实现各种功能的的模块化架构。它具有强大的容器技术,来承载各种主流语言来编写的智能合约。
一、环境整理
1、CentOS升内核
查看CentOS系统
cat /etc/redhat-release
结果显示(7.4版本)
CentOS Linux release 7.4.1708 (Core) 检查当前 CentOS 系统内核版本
uname -sr
结果显示(4.15版本)
Linux 4.15.14-1.el7.elrepo.x86_64 升内核要CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新主线稳定内核 启动ELRepo,运行以下命令
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgrpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
仓库启用后,你可以使用下面的命令列出可用的系统内核相关包:
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
接下来,安装最新的主线稳定内核
yum --enablerepo=elrepo-kernel install kernel-ml
查看可用的内核
cat /boot/grub2/grub.cfg |grep menuentry
结果显示:
Linux 4.15.14-1.el7.elrepo.x86_64[root@VM_0_14_centos hyperledger]# cat /boot/grub2/grub.cfg |grep menuentryif [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" menuentry_id_option=""export menuentry_id_optionmenuentry 'CentOS Linux (4.15.14-1.el7.elrepo.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-49f819fd-e56d-48a4-86d3-7ebe0a68ec88' {menuentry 'CentOS Linux (0-rescue-f9d400c5e1e8c3a8209e990d887d4ac1) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-f9d400c5e1e8c3a8209e990d887d4ac1-advanced-49f819fd-e56d-48a4-86d3-7ebe0a68ec88' {
替代要用的内核例如:
CentOS Linux (4.15.14-1.el7.elrepo.x86_64) 7 (Core)grub2-set-default 'CentOS Linux (4.15.14-1.el7.elrepo.x86_64) 7 (Core)
‘ 查看内核启动项是否设置成功查看内核启动项是否设置成功
grub2-editenv list
结果显示:
saved_entry=CentOS Linux (4.15.14-1.el7.elrepo.x86_64) 7 (Core)
查询多余的内核
rpm -qa | grep kernel
删除多余内核
yum remove
你要删除的内核 重启系统即可
reboot
二、环境安装配置
1、docker安装
1安装Docker CE版,如果有旧的先卸载
sudo yum remove docker \ docker-common \ docker-selinux \ docker-engine
2 开始安装Docker ce
sudo yum install -y yum-utils device-mapper-persistent-data lvm2$ sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.reposudo yum-config-manager --enable docker-ce-edgesudo yum-config-manager --enable docker-ce-testsudo yum-config-manager --disable docker-ce-edgesudo yum makecache fastsudo yum install docker-ce
3检查是否安装成功
[root@VM_0_14_centos hyperledger]# docker --versionDocker version 18.04.0-ce-rc1, build 0c7f7c6
4 启动docker
/bin/systemctl start docker.service
2、Docker-Compose安装
需要服务器支持curl功能,如果服务器不支持curl,需要执行如下操作安装curl依赖
yum install curl
1 安装最新版本 根据官网所指向github项目,目前docker-compose最新版为1.15.0 执行命令
curl -L https://github.com/docker/compose/releases/download/1.15.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
给于权限
chmod +x /usr/local/bin/docker-compose
2、查看版本
[root@VM_0_14_centos hyperledger]# docker-compose --versiondocker-compose version 1.15.0, build e12f3b9
docker常用命令
杀死所有正在运行的容器
docker kill $(docker ps -a -q)
删除所有已经停止的容器
docker rm $(docker ps -a -q)
删除所有镜像
docker rmi $(docker images -q)
强制删除所有镜像
docker rmi -f $(docker images -q)
3、GO语言安装
GO安装链接 ==最后环境如下==
三、源码下载
首先进入到go的path目录
cd $GOPATH
新建文件夹
mkdir -p src/github.com/hyperledger
然后进入到如下路径
/opt/gopath/src/github.com/hyperledger
下载fabric
git clone https://github.com/hyperledger/fabric.git
1、进入到fabric目录查看fabric的git版本
cd fabric/git branch -a
结果显示(当前使用的是master分支)
* master remotes/origin/HEAD -> origin/master remotes/origin/feature/ca remotes/origin/feature/convergence remotes/origin/master remotes/origin/release-1.0 remotes/origin/release-1.1 remotes/origin/v0.6 remotes/origin/v1.0.0-preview
2、切换到release-1.1分支
git checkout release-1.1
查看有没有切换成功
git branch -a
结果显示
master* release-1.1 remotes/origin/HEAD -> origin/master remotes/origin/feature/ca remotes/origin/feature/convergence remotes/origin/master remotes/origin/release-1.0 remotes/origin/release-1.1 remotes/origin/v0.6 remotes/origin/v1.0.0-preview
下载fabric-samples 5.1、进入到与fabric平级的目录
cd $GOPATH/src/github.com/hyperledger
2、下载源码
git clone https://github.com/hyperledger/fabric-samples.git
3,进入fabric-samples目录,查看分支并切换到1.1
cd fabric-samples/git branch -agit checkout release-1.1
下载完成后的结构应该如下图所示
四、下载镜像和要执行的二进制文件
进入到fabric-samples目录 ==如果网络环境足够好,能访问外网的话,可以直接执行下面这条语句就会下载所有镜像和要执行的二进制的文件==
curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0
下载完成后要会多出这两个文件bin和config
连不了外网的按下面执行(下载镜像和二进制文件这两个步骤) 进到fabric目录下的scripts 并修改bootstrap.sh
cd fabric/scripts/vim bootstrap.sh
修改图中圈的部分,修改为1.1.0版本,然后保存
image
运行bootstrap.sh下载镜像(要等几分钟)
./bootstrap.sh
下载二进制执行文件 进入到fabric-samples文件
cd fabric-samples/
通过wget下载1.1.0版本的二进制文件
wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.1.0/hyperledger-fabric-linux-amd64-1.1.0.tar.gz
解压下载的文件,会发现多了bin和config两个个文件夹
tar -zxvf hyperledger-fabric-linux-amd64-1.1.0.tar.gz
把bin配置到环境
cd bin/pwdvim /etc/profilesource /etc/profile
修改的项
五、运行文件
进到fabric-samples/first-network
cd fabric-samples/first-network/
生成配置文件
./byfn.sh -m generate
选择同意,会默认生成mychannel
起动项目
./byfn.sh -m up
成功的结果:
成功后关闭
./byfn.sh -m down
==阿里云服务器要修改base文件夹的docker-compose-base.yaml,所有的environment下添加 -GODEBUG=netdns=go,如下图==
到此,相信大家对“Linux中搭建Fabric的方法”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!