hyperledgerfabric2.0(⼀)环境搭建以及测试⽹络部署⼀、基础环境整理(可参照:
1、安装curl:
# yum install curl
安装成功后查看版本:
# curl --version
2、安装wget。
3、安装docker和docker compose。安装成功后查看版本:# docker -version
4、go语⾔环境。安装后查看版本:# go version
5、node.js运⾏环境以及npm。安装完后查看版本:
--------------------------------------------------------------------------------------------------------
⼆、fabric 2.0源码安装:
1、创建放置fabric的⽂件夹:
# mkdir -p $GOPATH/src/github/hyperledger
2、下载fabric源码:
# cd $GOPATH/src/github/hyperledger
# git clone
# cd fabric/scripts
查看bootstrap.sh: # bootstrap.sh
能看到version为2.0.0,ca_version为1.4.6,thirdparty_image_version为0.4.18
执⾏bootstrap.sh下载镜像和⼆进制⽂件:
# ./bootstrap.sh
执⾏完如图,另外在scripts⽬录下会多出来⼀个fabric-samples⽬录:
3、启动test-network测试⽹络:
# cd /opt/gopath/src/github/hyperledger/fabric/scripts/fabric-samples/test-network # ./network.sh up
如图,表⽰启动成功,已启动⼀个orderer节点和两个peer节点。
查看docker容器:
# docker ps
如图:
⾄此,fabric测试⽹络test-network部署成功。
---------------------------------------------------------------------------------------------------------------------------------
三、使⽤测试⽹络
1、创建channel,使⽤network.sh脚本创建来创建⼀个连接org1和org2组织并加⼊他们peer的通道,命令如下:
#  ./network.sh createChannel
如图,创建成功(默认通道名为mychannel)。
也可以带上channel标签,命令如下(-c channelName):
# ./network.sh createChannel -c channel1
如果要在⼀个步骤中启动⽹络并创建频道,可以同时使⽤up和create channel模式:
# ./network.sh up createChannel
2、在通道上启动链码。
(1)使⽤network.sh创建通道之后,可以使⽤以下命令在通道上启动链码(默认使⽤go语⾔):
# ./network.sh deployCC
可以指定语⾔,加-l ,⽐如我⽤java,命令如下:
# ./network.sh deployCC -l java
go语言开发环境搭建如图,启动成功:
3、与⽹络互动
⽹络启动之后,可以使⽤peer cli客户端去操作⽹络,可以通过cli客户端去调⽤部署智能合约,更新通道,或者安装和部署新的智能合约。
⾸先确保操作⽬录为test-network⽬录,⽐如我的⽬录是:
/opt/gopath/src/github/hyperledger/fabric/scripts/fabric-samples/test-network
使⽤以下命令将⼆进制⽂件添加到cli路径:
# export PATH=${PWD}/../bin:${PWD}:$PATH
还需要设置FABRIC_CFG_PATH路径指向fabric-samples中的core.yaml⽂件,命令如下:
# export FABRIC_CFG_PATH=$PWD/../config/
设置允许org1操作peer cli的环境变量:
# Environment variables for Org1
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/ample/1.example/ export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/ample/users/ample/msp
export CORE_PEER_ADDRESS=localhost:7051
如上,CORE_PEER_TLS_ROOTCERT_FILE和CORE_PEER_MSPCONFIGPATH环境变量指向organizations⽂件夹中的org1的加密⽂件。
使⽤以下命令获取汽车资产列表:
# peer chaincode query -C mychannel -n fabcar -c '{"Args":["queryAllCars"]}'
如图:
同理,设置org2的环境变量:
# Environment variables for Org2
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org2MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/ample/2.example/ export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/ample/users/ample/msp export CORE_PEER_ADDRESS=localhost:9051
在ample上调⽤链码查询fabcar列表:
关闭⽹络:
# ./network.sh down
------------------------------------------------------------------------------------------------------------------
四、使⽤证书颁发机构启动⽹络
1、执⾏以下命令确保关闭其他fabric⽹络:
# ./network.sh down
2、标志并启动⽹络(ca为⽹络的标志):
# ./network.sh up -ca
如图,启动成功:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。