Hyperledger Fabric 1.4.4中添加PBFT并使用caliper压测

预备条件:ubuntu 20.04 、docker、docker-compose、git、wget

继承

视频链接:Hyperledger Fabric 添加PBFT共识算法 含caliper压测_哔哩哔哩_bilibili

数仓建模

抽象工厂模式

1.安装必备工具下载pbft源码

开发

sudo apt install gcc make python2.7 g++

时间复杂度

git clone https://github.com/yezhem/fabric-sample

ACM

git clone https://gitee.com/real__cool/fabric_install

机械键盘

流程图

2.下载安装go

markdown

wget https://golang.google.cn/dl/go1.18.4.linux-amd64.tar.gz

TabLayout

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

getx

生成对抗网络

设置go环境变量

产品

mkdir go

桌面宠物

export GOPATH=$HOME/go

RNN

export GOROOT=/usr/local/go

python-docx

export PATH=$GOROOT/bin:$PATH

生命周期函数

Java核心技术栈

3.下载fabric 1.4.4 源代码

jar

mkdir -p $GOPATH/src/github.com/hyperledger/

tolua

cd $GOPATH/src/github.com/hyperledger/

发布安卓包

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

ddos

git checkout v1.4.4

xml

 

小程序

4.修改fabric源代码,支持pbft

新手教程

common/tools/configtxgen/localconfig/config.go

apache

388 case "pbft":

李南江

common/tools/configtxgen/encoder/encoder.go

职场规划

39  ConsensusTypePbft = "pbft"

动态内存管理

216 case ConsensusTypePbft:

遗传算法

orderer/common/server/main.go

50 "github.com/hyperledger/fabric/orderer/consensus/pbft"

650 consenters["pbft"] = pbft.New()

下载编译源码相关工具

mkdir -p $GOPATH/src/golang.org/x

cd $GOPATH/src/golang.org/x

git clone https://github.com/golang/tools.git

拷贝pbft源码到fabric源码

cd orderer/consensus/

cp -r ~/fabric-sample/pbft .

编译orderer镜像

make orderer-docker

关闭GO111MODULE

export GO111MODULE=off

make configtxgen

5.下载nvm与node

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

nvm install 8.15

nvm alias default 8.15

npm config set registry https://registry.npm.taobao.org

6.下载fabric-samples、二进制文件、docker镜像

chmod +x bootstrap3.sh

./bootstrap3.sh 1.4.4 1.4.4

7.删除fabric-sample/pbft-network中的IMAGETAG

59 docker-compose-cli.yaml

4、17 peer-base.yaml

 

8.安装caliper依赖

添加python环境变量到.bashrc

export PYTHON=/usr/bin/python2.7

安装caliper-cli

npm install -g –only=prod @hyperledger/caliper-cli@0.3.2

绑定sut,这里出错了就重试几次

caliper bind –caliper-bind-sut fabric:1.4.4 –caliper-bind-args=-g

下载caliper-core

cd /home/test/fabric-sample/chaincode/demo/callback

npm install @hyperledger/caliper-core@0.3.2

 

9.启动项目与caliper测试

制作好的二进制文件替换原来的,才可以识别pbft

 cp ~/go/src/github.com/hyperledger/fabric/.build/bin/configtxgen .

给新制作好的镜像打上标签latest,这里06bc1fdea693是刚做好的镜像

docker tag 06bc1fdea693 hyperledger/fabric-orderer:latest

sudo ./scripts/utils.sh down

./scripts/gen.sh

./scripts/utils.sh up

到这里就启动好pbft网络了

caliper测试

sudo ./scripts/utils.sh down && npx caliper launch master –caliper-workspace ./ –caliper-benchconfig benchmarks/config.yaml –caliper-networkconfig benchmarks/network.yaml

输出的report.html 就是本次测试的报告,可以在浏览器中查看

编译好的docker镜像:

直接拉取后打上标签latest即可

docker pull realhaha/fabric-orderer:pbft

编译好的configtxgen:

链接:https://pan.baidu.com/s/13XS1Q_9Oa1QKqYmOQ1iKmA 
提取码:4i79

至此结束

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注