ubuntu18.04 部署Hyperledger Fabric1.4网络环境(上)

Maleah ·
更新时间:2024-09-20
· 862 次阅读

用命令自动部署

在失败很多次后,借鉴了前辈的文章:https://blog.csdn.net/zxc87545586/article/details/89193548.

1,更改系统的软件源
在软件中选择“Software&Updates”,将系统的软件源修改为aliyun
在这里插入图片描述
2,安装相关的工具

sudo apt-get update sudo apt-get install git sudo apt-get install curl

3,安装Go并配置
下载Go(选择Linux版本的):https://studygolang.com/dl.
配置:

tar -xvf go1.13.6.linux-386.tar.gz sudo mv go /usr/local sudo gedit ~/.bashrc

在文件尾部加上Go环境变量的相关配置:

export PATH=$PATH:/usr/local/go/bin export GOROOT=/usr/local/go export GOPATH=$HOME/goapp // goapp是我放Go程序的目录,程序写在里面的src目录中 export PATH=$PATH:$HOME/go/bin

使配置文件生效并查看Go是否安装配置成功:

source ~/.bashrc go version // 查看是否安装成功

4,安装docker和docker-compose
如果已经安装过旧版本的docker,需要先执行命令删除:

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

安装docker:

sudo apt-get update sudo apt-get install apt-transport-https ca-certificates software-properties-common // 下载相关工具 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - // 添加docker官方GPG密钥 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" // 设立好仓库 sudo apt-get update sudo apt-get install docker-ce sudo mkdir -p /etc/docker sudo gedit /etc/docker/daemon.json

加入以下内容:

{ "registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"] }

继续执行:

sudo systemctl daemon-reload sudo systemctl restart docker sudo usermod -aG docker hhj // hhj是我的ubuntu用户名 sudo chmod -R 777 /var/run/docker.sock docker version // 查看是否安装成功

安装docker-compose:

sudo apt-get install python-pip sudo pip install docker-compose docker-compose version // 查看是否安装成功

5,安装Fabric

mkdir -p $GOPATH/src/github.com/hyperledger/ cd $GOPATH/src/github.com/hyperledger/ git clone https://github.com/hyperledger/fabric.git // 时间长,容易出错,建议在网络环境好的时间段多次尝试 cd fabric git checkout v1.4.0 cd scripts/ ./bootstrap.sh // 下载相应版本的镜像 docker images // 查看镜像

启动网络

cd $GOPATH/src/github.com/hyperledger/fabric/scripts/fabric-samples/first-network ./byfn.sh up // 耐心等待 docker exec -it cli bash // 初始状态为:a: 90,b: 210 peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}' // 查询a,显示 90 peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses peer0.org2.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"Args":["invoke","a","b","10"]}' // 交易:a -> b 10 显示chaincodeInvokeOrQuery -> INFO 001 Chaincode invoke successful. result: status:200 peer chaincode query -C mychannel -n mycc -c '{"Args":["query","b"]}' // 查询b,显示220 exit // 退出 ./byfn.sh down // 关闭网络

下篇将讲解如何手动搭建环境,毕竟这是真实的工作步骤,开发必须熟悉!

有什么问题欢迎评论区留言,一起探讨!


作者:forjie_



环境 hyperledger ubuntu fabric

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章