Fabric基础学习

笑着哭i 提交于 2020-11-10 17:55:49

Fabric

Fabric交流社区

https://wiki.hyperledger.org/

官网文档

https://hyperledger-fabric.readthedocs.io/zh_CN/release-2.2/whatis.html#hyperledger-fabric

搭建测试环境

系统:ubuntu20

更新

sudo apt update

sudo apt upgrade --fix-missing

安装git

sudo apt install git

安装curl

sudo apt install curl

安装Docker

sudo apt install docker.io

安装docker-compose工具

sudo apt install docker-compose

下载Golang,安装到指定文件目录https://golang.org/dl/

sudo tar -zxvf go1.15.4.linux-amd64.tar.gz -C /usr/local/

到go安装路径

/usr/local/go/bin

使用sudo vi /etc/sudoers
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/go/bin"
配置环境变量

新建

mkdir go

sudo vim /etc/profile

添加

export GOPATH= H O M E / g o e x p o r t G O R O O T = / u s r / l o c a l / g o e x p o r t P A T H = HOME/go export GOROOT=/usr/local/go export PATH= HOME/goexportGOROOT=/usr/local/goexportPATH=GOROOT/bin:$PATH

使配置信息生效

source /etc/profile

重启,验证

go version

下载Fabric源码

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

新建

mkdir hyfa

cd fabric/scripts/

cp bootstrap.sh /$HOME/hyfa/

加可执行权限

chmod +x bootstrap.sh

安装 fabric-samples 1.2.0版本

sudo ./bootstrap.sh 1.2.0
将你的用户添加到 docker 组

sudo usermod -a -G docker gll添加docker用户gll(用户名)
添加环境变量

export PATH=$HOME/hyfa/fabric-samples/bin:$PATH

进入/hyfa/fabric-samples/first-network目录

执行

./byfn.sh --help

up:启动;
down:清除网络;
restart:重新启动;
generate:生成证书及创世区块;
upgrade:将网络从1.1.x升级到1.2.x;
-c:用于指定channelName,默认值"mychannel";
-t:CLI timeout时间,默认值10;





-d:延迟启动,默认值3;
-f:使用指定的网络拓扑结构文件,默认使用docker-compose-cli.yaml;
-s:指定使用的数据库,可选 goleveldb/couchdb;
-l:指定chaincode使用的语言,可选golang/node;
-i:指定镜像tag,默认 “latest”。



补充

如果遇到一些错误,可以尝试以下

进入fabcar目录,执行完成fabcar的全部初始化

./startFabric.sh

之后进入到/fabric-samples/test-network目录

export PATH=${PWD}/../bin:$PATH 
export FABRIC_CFG_PATH=$PWD/../config/
 
export CORE_PEER_TLS_ENABLED=true 
export CORE_PEER_LOCALMSPID="Org1MSP" 
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt 
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp 
export CORE_PEER_ADDRESS=localhost:7051

执行

peer chaincode query -C mychannel -n fabcar -c '{"Args":["queryAllCars"]}'

或者

peer chaincode query -C mychannel -n fabcar -c '{"Args":["queryCar","CAR1"]}'

关于执行./network.sh deployCC

到go安装路径

/usr/local/go/bin

使用sudo vi /etc/sudoers

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/go/bin"

go env -w GO111MODULE=on

go env -w GOPROXY=https://goproxy.cn,direct
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!