Fabric2.2环境配置

前期准备

1. 安装curl、git、wget

sudo yum -y install curl
sudo yum -y install git
sudo yum -y install wget

2. go环境搭建

官方Demo默认使用Go语言,语言可以更改成Java,在下文会写。依赖Go语言环境,运行项目。

cd /home
mkdir app
cd app
wget https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz
tar -C /usr/local -zxf go1.14.2.linux-amd64.tar.gz
#配置环境变量
vim /etc/profile
#复制一下代码到profile末尾
#go
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$HOME/go/bin
#使配置生效
source /etc/profile
#查看版本
go version

3. java 环境搭建

在配置之前,最好先去官网下载jdk1.8xx.tar.gz包,然后导入到系统中,解压并安装配置。因为官网需要账户登陆才可以下载,为了方便我已经将已经下好的包上传百度云,永久有效。

https://pan.baidu.com/s/1OIMbuq35W9yjYBe6HPnttQ 提取码:1111

注意:如果使用 yum install openjdk得话,下载的jdk会缺失tool.jar这类编辑工具包,在运行Demo时候会报错:

Could not find tools.jar. Please check that /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64/jre contains a valid JDK installation.
cd /home
rz #选择要上传的包
tar -zxvf xxx.tar.gz
mv xxx /usr/  #此处,我是将解压的jdk文件,移动到usr文件下,方便管理,可选配置
vim /etc/profile
#在末尾处,添加jdk环境配置
export JAVA_HOME=/usr/java8 #此处jdk配置不在过多叙述

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

#使配置生效
source /etc/profile
#查看版本
java -version

4. maven环境搭建

#下载maven压缩包
wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
 
#创建安装目录
mkdir /usr/local/maven/
 
#解压至安装目录
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local/maven/

#设置环境变量,打开文件
vim /etc/profile
 
#在末尾添加
export MAVEN_HOME=/usr/local/maven/apache-maven-3.5.4
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
 
#使环境变量生效
source /etc/profile
 
#检查
mvn --version

5. docker环境搭建

#安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
#设置稳定的仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#安装 Docker Engine-Community
yum install docker-ce docker-ce-cli containerd.io
#启动Docker
systemctl start docker
#查看Docker版本
docker version

#设置加速镜像(阿里) 在/etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
{
  "registry-mirrors": ["https://svaken38.mirror.aliyuncs.com"]
}

sudo systemctl daemon-reload
sudo systemctl restart docker

6. docker-compose 环境搭建

#下载解压
curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
赋予权限
chmod +x /usr/local/bin/docker-compose
#查看版本
docker-compose  version

环境搭建

1. 从git上下载源码

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

当然也可以从码云上克隆,本文我是根据官方文档进行Demo搭建,所以就使用git。

2. 下载fabric samples

cd fabric/scripts
./bootstrap.sh #此处会 clone fabric-samples; 下载 依赖的images; 下载bin

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YQNcyF73-1607409993564)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201208141623238.png)]

3. 进行测试

一般情况下,经过步骤2之后,会在script文件下生成fabric-samples文件

cd fabric-samples/test-network
./network.sh up #启动网络
./network.sh down #关闭网络
./network.sh createChannel #创建通道
./network.sh deployCC #部署订单服务连接链码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cmaTPt61-1607409993570)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201208141915325.png)]

但是在运行deployCC时会报错,说找不到fabcar链码,此处官方文档有错误,

#在test-network下
./network.sh down 
#进入到fabric-samples 下fabcar文件下
./startFabric.sh #进行初始化
#回到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

运行完上面的就可以使用fabric的命令了,查询账本

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

更新账本属性值:

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n fabcar --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"changeCarOwner","Args":["CAR9","Dave"]}'

总结

本文是最近公司要求研究区块链,我开始搭建的环境,参考了几位博主的文章,再加上自己实际搭建的经验总结,希望勿喷,再开发的道路上越走越远。

fabric 2.2 安装、测试、以及修改链码
Fabric(二)部署Fabric2.2.0
centos7下安装fabric2.2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值