fabric1.4.4-pbft共识算法 环境配置软件源码下载

pbft共识算法 fabric环境配置软件源码下载 fabric1.4.4-pbft

具体文档压缩包内容看右侧付费下载

具体文档压缩包内容看右侧付费下载

工具包:

Go安装

先解压安装包:

tar -xf go1.15.linux-amd64.tar.gz

将解压包移到安装路径:

mv go /usr/local

创建工作目录:

mkdir /usr/local/gopath

mkdir -p /usr/local/gopath/src/github.com/hyperledger/

cd /home/mima00

chmod -R 777 go

配置环境:

gedit ~/.bashrc

在最后添加以下内容:

export PATH=$PATH:/usr/local/go/bin

export GOPATH=/usr/local/gopath

export GOROOT=/usr/local/go

export GOBIN=$GOROOT/bin

更新:

source ~/.bashrc

查看:

go env

GO工具包安装:

mkdir -p $GOPATH/src/golang/x

cd $GOPATH/src/golang/x

chmod -R 777 golang

下载需要的包:

修改代理:

go env -w GO111MODULE=on

go env -w GOPRIVATE=*.corp.example.com

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

(若设置失败可以多个逗号相隔或者先 unset GOPROXY)

例如:(go get的安装,若不是http地址则寻找的路径默认是$GOROOT)

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

go get golang/x/tools/go/packages

安装nodejs

tar -xf node-v8.10.0-linux-x64.tar.gz

chmod -R 777 node-v8.10.0-linux-x64

ln -s /usr/local/node/bin/node /usr/bin/node

node –version

ln -s /usr/local/node/bin/npm /usr/bin/npm

npm –version

ln -s /usr/local/node/bin/npx /usr/bin/npx

npx –version

修改npm源:

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

Docker安装

安装必要工具:

apt install git

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

dpkg -i containerd.io_1.2.5-1_amd64.deb

dpkg -i docker-ce-cli_19.03.5_3-0_ubuntu-xenial_amd64.deb

dpkg -i docker-ce_19.03.5~3-0~ubuntu-xenial_amd64.deb

查看版本:

docker version

创建docker组:

groupadd docker

将当前用户添加到 docker 组:

usermod -aG docker mima00

添加国内docker镜像:

mkdir -p /etc/docker

gedit /etc/docker/daemon.json

把以下内容添加进去:

{

“registry-mirrors”: [“https://obou6wyb.mirror.aliyuncs.com”]

}

运行命令:

systemctl daemon-reload

systemctl restart docker

权限不足修改:

sudo chmod -R 777 /var/run/docker.sock

docker version

安装docker-compose:

mv docker-compose-Linux-x86_64 /usr/bin/docker-compose

docker-compose -v

拉取镜像

下载https://github.com/hyperledger/fabric/blob/master/scripts/bootstrap.sh

(可能不能直接复制文件所以):

gedit bootstrap.sh

复制下载好bootstrap.sh的内容进去并运行:

chmod 777 bootstrap.sh

./bootstrap.sh 1.4.4 1.4.4

fabric1.4.4添加pbft共识:

下载文件:
fabirc1.4.4: https://codeload.github.com/hyperledger/fabric/zip/v1.4.4

fabric-samples1.4.4: https://codeload.github.com/hyperledger/fabric-samples/zip/v1.4.4

/bin /config: https://github.com/hyperledger/fabric/releases/download/v1.4.4/hyperledger-fabric-linux-amd64-1.4.4.tar.gz

将fabirc,fabric-samples下载好

Fabric-samples放入fabric文件夹中。

https://github.com/yezhem/fabric-sample 下载pbft共识。

将pbft文件夹放到/ fabric/orderer/consensus文件夹下。

将/bin文件夹和/config文件夹复制到fabric-samples下。

设置全局工具:

gedit ~/.bashrc

将以下内容加进去:(注意修改自己路径)

export PATH=/usr/local/gopath/src/github.com/hyperledger/fabric/fabric-samples/bin:$PATH

source ~/.bashrc

添加pbft配置:

// common/tools/configtxgen/localconfig/config.go:388

switch ord.OrdererType {

case ‘pbft’:

}

// commom/tools/configtxgen/encoder/encoder.go:38

const ConsensusTypePbft = “pbft”

// commom/tools/configtxgen/encoder/encoder.go:215

switch conf.OrdererType {

case ConsensusTypePbft:

}

// orderer/common/server/main.go:664

头部 import 添加:

“github.com/hyperledger/fabric/orderer/consensus/pbft”

664行添加:

consenters[“pbft”] = pbft.New()

//fabric/image

运行:

make orderer-docker

make configtxgen

报错:

运行以下命令:

export GO111MODULE=on

go mod init

go get github.com/golang/sys

go get golang/x/grpc-go

go get github.com/golang/zap

go get net

go get sync

go get github.com/golang/atomic

go get github.com/golang/lint

go get github.com/golang/text

go get github.com/golang/genprot

go get github.com/golang/tools

go get github.com/golang/multierr

go get crypto

go get github.com/golang/pierrec/lz

go mod vendor

在fabric路径下再次运行:

go mod vendor

make configtxgen

到此二进制文件configtxgen,orderer已经制作完成。

将制作好的二进制文件复制到fabric-samples/bin下:

先将原文件备份.

然后:

cp /usr/local/gopath/src/github.com/hyperledger/fabric/.build/docker/bin/orderer /usr/local/gopath/src/github.com/hyperledger/fabric/fabric-samples/bin

cp /usr/local/gopath/src/github.com/hyperledger/fabric/.build/bin/configtxgen /usr/local/gopath/src/github.com/hyperledger/fabric/fabric-samples/bin

将pbft-network文件夹复制到fabric下。

修改:

pbft-network/base/peer-base.yaml:4和17行

bft-network/docker-compose-cli.yaml59行

删掉:$IMAGETAG

到此环境已经配置完毕。

Fabric运行:

进入到pbft-network目录下

mkdir channel-artifacts

cryptogen generate –config ./crypto-config.yaml

configtxgen –profile Genesis -outputBlock ./channel-artifacts/genesis.block

configtxgen –profile Channel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID mychannel

运行镜像:

docker-compose -f docker-compose-cli.yaml up -d

查看镜像:

docker ps -a

docker-compose -f docker-compose-cli.yaml down

停止和移除镜像:

docker stop $(docker ps -aq)

docker rm $(docker ps -aq)

 

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » fabric1.4.4-pbft共识算法 环境配置软件源码下载

提供最优质的资源集合

立即查看 了解详情