超级账本fabric学习(一)ubuntu下搭建fabric1.4.3


超级账本fabric学习(一)ubuntu下搭建fabric1.4.3
1:安装前,先安装各种工具软件的准备工作:

vim :文本编辑器,后面我们可以用它来编辑环境变量

git:用于克隆fabric源码

curl:在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具,习惯称url为下载工具。

python-pip:pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。

sudo apt-get update
sudo apt-get vim
sudo apt-get install git
sudo apt-get install curl
sudo apt-get install python-pip
pip install --update pip

2:安装配置go语言环境
2.1:下载go包

ubuntu虽然提供了go的安装包,但是版本比较旧,我们最好还是参考官方网站https://golang.org/dl ,来下载我们心仪的,比较新的版本。下面我们使用wget工具直接在命令行进行下载压缩包到本地,然后解压到指定目录。

wget https://storage.googleapis.com/golang/go1.14.6.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.14.6.linux-amd64.tar.gz

如果上wget这种方法出现“失败:拒绝连接”,那估计就得看看是否是端口号被占用,或者走了代理的方式,关掉就好了

同时,我们也可以直接到官方网站上进行下载。

2.2:编辑当前用户的环境变量:

vim ~/.profile

2.3添加如下环境变量

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

2.4:编辑保存并退出vim,然后切记将这些环境重新载入

source ~/.profile

2.5:创建go文件夹,将go的目录GOPATH设置到当前用户的文件夹下

cd ~
mkdir go

3:Docker的安装
3.1:ubuntu自带docker软件包,但版本也太老了,我们先将他卸载掉

sudo apt-get remover docker docker-engine docker.io

3.2:更新系统里自带的软件

sudo apt-get update

3.3:我们当前使用的是ubuntu16.04LTS,为了让docker使用aufs存储,推荐安装下面两个软件包

sudo apt-get install -y \
linux-image-extra-$(uname -r)
linux-image-extra-virtual

3.4:添加镜像源(安装依赖包)

首先需要按转包给apt-transport-https 等软件包支持的https协议的源:

sudo apt-get install \
apt-transport-https \
ca-certificates
curl
software-properties-common

3.5:添加源的gpg密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

如果执行上述命令之后终端显示ok,那么表示添加成功

3.6:添加Docker官方稳定的软件源(添加仓库)

sudo add-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable "

其中$(lsb_release -cs)是当前操作系统的代号

3.7:再次更新apt软件包缓存

sudo apt-get update

3.8:正式安装docker

在成功添加好源之后就可以安装指定版本的docker了,可以使用sudo apt-get install docker-ce=命令,替换为具体的版本即可

如果没有指定的话,默认安装最新版的docker,“ce"代表这是社区版

sudo apt-get install -y docker-ce

3.9:查看docker的版本

docker -v

3.10:修改用户权限

为了避免每次使用docker命令时都需要切换到特权身份,可以将当前用户加入到安装docke时自动创建的docker用户组当中

sudo usermod -aG docker USER_NAME

4:安装docker-compose

安装docker-compose的方法有好几种,这里我们就介绍使用官方提供的二进制包进行docker-compose的安装。

这些官方发布的二进制包可以在https://github.com/docker/compose/releases 页面下找到。

4.1:下载docker-compose

使用curl工具下载这些二进制文件,然后直接放在执行路径下,这里我们的执行路劲就是/usr/local/bin目录下。

sudo curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-'uname -s'-'uanme -m' >/usr/local/bin/docker-compose

4.2:为这个二进制文件添加执行权限。

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

4.3:查看版本,以测试安装是否已成功

docker-compose version

5:下载fabric源码,fabric-samples源码,以及fabric镜像
5.1:我们使用git工具下载fabric源码

1:首先先建立放置源码的目录

2:然后进入目录,进行源码的下载

mkdir -p ~/go/src/github.com/hyperledger
cd ~/go/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git

5.2:fabric源码是有一直都在更新的,我们需要切换到我们自己需要的版本即可。

git checkout v1.4.3

5.3:bootstrap.sh文件

本来这一步仅仅只需要将fabric/scripts目录下的bootstrap.sh文件复制到与fabric同级的目录下,然后执行该文件就能在该目录下生成fabric-sample,以及fabric镜像,还有fabric二进制文件和配置文件(configtxgen configtxlator cryptogen discover idemixgen orderer peer)。

问题的出现:

但是现在用于下载二进制文件的那个网站已经不再维护了,所以没法下载到二进制文件,整个脚本会在第二步那里就停掉。

问题的解决方案:

既然他在第二步停掉了,我们索性就不要第二步了,将这个fabric二进制文件和配置文件的下载屏蔽掉

cd ~/go/src/github.com/hyperledger/fabric/scripts
#将bootstrao.sh复制到和fabric同级的目录下,这样一会执行下载来的fabric-samples源码才会和fabric在同一级目录下
cp bootstrap.sh ../../
#然后开始编辑
cd ../../
vim bootstrap.sh

移到230行,然后添上#号,将这行执行二进制文件下载的一行代码给屏蔽掉

#binariesInstall

现在我们再执行bootstrap.sh文件,他就只会去完成fabric-samples的下载,以及fabric镜像的拉取

./bootstrap.sh

然后不放心的话可以在hyperledger目录下看看是否有fabric-samples这个目录,已经docker images 一下,查查是否拉取到了fabric镜像

cd ~/go/src/gothub.com/hyperledger
ll
docker images

手动编译fabric/release得出二进制文件

#首先进入fabric文件夹
cd ~/go/src/github.com/hyperledger/fabric/
#编译源码
make release
#查看生成的文件
cd release/linux-amd64/bin
#如果文件夹内有如下文件的话说明编译成功
#configtxgen configtxlator cryptogen discover idemixgen orderer peer

其中configtxgen configtxlator cryptogen三个文件,我们需要将他们复制到我们在fabric-samples目录下的bin文件夹下。

因为启动网络时需要用到这些工具:

cryptogen工具读取这个crypto-config.yaml配置文件产生证书和密钥

configtxgen工具读取configtx.yaml配置文件,

配置了由2个org参与的orderer共识配置:TwoOrgOrdererGenesis
以及由2个org参与的Channel配置:TwoOrgChannel

当然在这里这些配置文件的各种配置,参数都已经在byfn.sh脚本上了

#在这里,为了方便,我们直接将整个bin目录复制过去
cd release/linux-amd64
cp -r bin ../../fabric-samples

至此,搭建fabric1.4.3的工作就已经全部完成了,接下来就是做测试了

6:测试网络以及链码是否可用
6.1:生成通道

切换到first-network下,创建通道

cd ~/go/src/github.com/hyoerledger/fabric-samples/first-network
./byfn.sh -m generate -c mychennel

testchannel是通道名,如果没有指定则默认为mychannel.

6.2:启动网络

指定正确的通道名,启动网络

./bufn.sh -m up -c mychannel

6.3:客户端操作验证网络以及链码是否可用

进入cli容器:(在first-network目录下)

docker exec -it cli bash

查询a的余额:

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

如果返回的是90,说明查询正确,我们搭建成功了

6.4:关闭网络

./byfn.sh -m down

在关闭网络的同时,不但停掉所有容器还会将他们清理掉。

结语

现在,我们整个fabric1.4.3的搭建流程都已经完成了,中途如果由不正确的地方希望各位网友指出来,咱们互相学习,如果有喜欢的朋友记得点赞关注呀!

​ Thank you!

2020年8月4日整理于家中!哈哈哈!

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

超级账本fabric学习(一)ubuntu下搭建fabric1.4.3

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » 超级账本fabric学习(一)ubuntu下搭建fabric1.4.3
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏