HyperLedger Fabric 1.2 官方End

  • 时间:
  • 浏览:5
  • 来源:大发uu直播快3_大发UU快3直播平台



图:删剪流程图

显示start-e2e表示刚刚刚刚刚结束了了 运行,如下图所示:



文件说明:

       另一两个 工具可不需用通过如下命令办法 生成,在该End-2-End例子中已集成到generateArtifacts.sh你是什么文件,运行后自动生成,不要手动命令操作,另一两个 文件生成到$GOPATH/src/github.com/hyperledger /release/linux-amd64/bin你是什么目录。

network_setup.sh

还可不需用通过以下网址直接访问下载,地址:https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/,本书使用V1.2版本,对应文件为hyperledger-fabric-linux-amd64-1.2.0.tar.gz,下载完成后解压,获取bin目录。

crypto-config

5. Kafka配置

文件(或目录)名称

8.2 End-2-End案例运行

1. 配置加速镜像

8. Cli配置

删除镜像:

生成公私钥和证书的执行文件

crypto-config.yaml

3. 基础配置:

1) docker-compose-base.yaml:

download-dockerimages.sh



8.3.3 执行流程

        Fabric基础环境搭建完成后,End-2-End案例的运行先从network_setup.sh文件执行,执行过程中调用generateArtifacts.sh生成公私钥和证书等文件,再根据docker-compose-cli.yaml的配置内容通过docker运行zookeeper、kafka、orderer、peer和cli,最后在cli中运行script.sh文件,批量执行创建通道、加入通道、安装智能合约、实例化智能合约、执行交易和执行查询等功能,以上过程在这样 错误的情况下,自动执行逐行执行,直到提示END-E2E表示成功。执行删剪流程如下:

流程说明:1. 在e2e_cli目录执行network_setup.sh up表示刚刚刚刚刚结束了了 执行,network_setup.sh down表示刚刚刚刚刚结束了了 执行;2. 执行network_setup.sh up后先判断是不是 存在crypto-config目录,因为不存在,则调用generateArtifacts.sh文件生成公私钥和证书;怎么让 通过命令docker-compose -f $COMPOSE_FILE up -d刚刚刚刚刚结束了了 启动Fabric网络;3. Fabric网络启动成功后,自动执行script.sh文件,按照代码顺序,分别执行如下代码:    1) 显示start-e2e:显示将刚刚刚刚刚结束了了 执行案例;     2) checkOSNAvailability:执行peer channel fetch 0 0_block.pb -o orderer.example.com:70100 -c "$ORDERER_SYSCHAN_ID" --tls --cafile $ORDERER_CA >&log.txt命令,验证排序(orderer)服务是不是 可用;    3) createChannel:执行peer channel create -o orderer.example.com:70100 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls --cafile $ORDERER_CA >&log.txt命令创建通道;    4) joinChannel:执行peer channel join -b $CHANNEL_NAME.block >&log.txt命令十个 peer节点加入到通道中;    5) updateAnchorPeers 0 1:执行peer channel update -o orderer.example.com:70100 -c $CHANNEL_NAME -f ./channel-artifacts/${CORE_PEER_LOCALMSPID}anchors.tx --tls --cafile $ORDERER_CA >&log.txt命令更新组织1的锚节点0;    6) updateAnchorPeers 0 2:执行peer channel update -o orderer.example.com:70100 -c $CHANNEL_NAME -f ./channel-artifacts/${CORE_PEER_LOCALMSPID}anchors.tx --tls --cafile $ORDERER_CA >&log.txt命令更新组织2的锚节点0;    7) installChaincode 0 1:执行peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/example02/cmd >&log.txt命令在组织1的节点0上安装智能合约;    8) installChaincode 0 2:执行peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/example02/cmd >&log.txt命令在组织2的节点0上安装智能合约;    9) instantiateChaincode 0 2:执行peer chaincode instantiate -o orderer.example.com:70100 --tls --cafile $ORDERER_CA -C $CHANNEL_NAME -n mycc -v 1.0 -c '{"Args":["init","a","100","b","100"]}' -P "AND ('Org1MSP.peer','Org2MSP.peer')" >&log.txt在组织2的节点0上实例化智能合约,初始化a值为100和b值为100;    10) chaincodeQuery 0 1 100:执行peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}' >&log.txt命令在组织1的节点0上查询a值,并判断是不是 为100;    11) chaincodeInvoke 0 1 0 2:执行peer chaincode invoke -o orderer.example.com:70100 --tls --cafile $ORDERER_CA -C $CHANNEL_NAME -n mycc $PEER_CONN_PARMS -c '{"Args":["invoke","a","b","10"]}' >&log.txt命令从a值中转称10到a值中;    12) installChaincode 1 2:执行peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/example02/cmd >&log.txt命令在组织2的节点1上安装智能合约;    13) chaincodeQuery 1 2 90:执行peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}' >&log.txt命令在组织2的节点1上查询a值,并判断是不是 为90;    14) chaincodeQuery 1 3 90:执行peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}' >&log.txt命令在组织3的节点1上查询a值,并判断是不是 为90;    15) 显示end-e2e:以上代码执行这样 跳出错误,则显示end-e2e表示成功执行;8.3.4 智能合约介绍      智能合约通过Go语言编写,实现存储a和b值,并在a和b之间数据交易转移,主要包括Init(初始化)、Invoke(交易)、delete(删除)和query(查询)十个 函数,具体代码如下:

base

显示END-E2E表示运行成功,如下图所示:

只能另一两个 script.sh文件,该文件是案例的运行功能的集合,运行都不 自动执行删剪功能,直到完成



图:End-2-End外部图

3. 查看下载镜像

Fabric网络Docker运行配置文件

生成的公私钥和证书的配置文件

8.3.5 配置介绍

1. 证书配置:crypto-config.yaml:

8.1 End-2-End案例简介

        Fabric官方提供了实现点对点的Fabric网络示例,该网络有另一两个 组织(organizations),另一两个 组织有并都不 节点(Peer),通过Kafka办法 实现排序(Orderer)服务。End-2-End案例的运行需用“cryptogen”和“configtxgen”另一两个 工具,用于Fabric网络所需的数字证书验证和访问控制功能。

2. 下载加速镜像



图:文件外部

8.3 End-2-End案例分析8.3.1 案例架构       End-2-End案例由十个 zookeeper、另一两个 kafka和另一两个 orderer实现排序,包括另一两个 组织,分别为Org1和Org2,每个组织带有另一两个 节点,分别为peer0和peer1,外部图如下所示:

7. Peer配置

存放生成的公私钥和证书等文件

图:End-2-End刚刚刚刚刚结束了了 运行

scripts



docker-compose-cli.yaml

configtx.yaml

2. 通道配置:

configtx.yaml:

存放配置提炼的公有偏离 ,有另一两个 文件,分别为docker-compose-base.yaml和peer-base.yaml

案例运行的入口文件

下载Fabric镜像执行文件

删除删剪镜像

说明

channel-artifacts

generateArtifacts.sh

4. 运行e2e_cli

存放生成的通道和创世纪块等文件,包括有channel.tx、genesis.block、Org1MSPanchors.tx和Org2MSPanchors.tx

       所有的配置都不 docker-compose-cli.yaml文件里,配置顺序分别为zookeeper、kafka、orderer、peer和cli,先运行zookeeper集群、再运行kafka集群,最后运行orderer和peer,需用按照以上运行顺序;实现的功能集中写在script.sh文件里,自动运行删剪功能,直到显示成功,具体功能如下:   1. 验证排序(orderer)服务是不是 可用,函数:checkOSNAvailability   2. 创建通道,函数:createChannel   3. 加入通道,函数:checkOSNAvailability   4. 更新组织1的锚节点,函数:updateAnchorPeers   5. 更新组织2的锚节点,函数:updateAnchorPeers   6. 在组织1的节点0上安装智能合约,函数:installChaincode   7. 在组织2的节点0上安装智能合约,函数:installChaincode   8. 在组织2的节点0上实例化智能合约,函数:instantiateChaincode   9. 在组织1的节点0上查询智能合约,函数:chaincodeQuery   10. 从组织1的节点0向组织2的节点0转移数据10的交易,函数:chaincodeInvoke   11. 在组织2的节点1上安装智能合约,函数:installChaincode   12. 在组织2的节点1上查询智能合约,函数:chaincodeQuery8.3.2 文件外部      End-2-End案例的删剪文件在fabric/examples/e2e_cli目录下,文件外部如下所示:

4. Zookeeper配置

通道配置文件



图:End-2-End运行成功

猜你喜欢

作为程序猿,30而立,立什么?

fagan克隆链接去分享你确实当事人做到了么,有你什儿 方便还须要继续努力?立业吧,技术日新月异,要保持当事人的水平,还是比较有难度的。作为线程池池猿的你,确实400而立

2020-02-17

如何做好一个管理者?如何管理好一个团队

一、作为一名管理人员,尤其是一名中层领导,首很难把责任装进第一位,淡化权利。3、为人诚信、负责。7、有韧性-对工作投入。3、为人诚信、负责。6、具有创意。6、具有创意。五、要人

2020-02-17

现代流式计算的基石:Google DataFlow

除Hadoop外你还须要知道的9个大数据技术谷歌弃用MapReduce,推出替代品CloudDataflow容错和高性能怎么兼得:Flink创始人谈流计算核心架构演化和现状除H

2020-02-17

盒子科技刘恒:聚合支付系统演讲

首先从第有另十个 主题讲那些是聚合支付,聚合支付主却说却说有另十个 将所有的第三方支付,通过借助形式融合在一同,要花费对接有另十个 支付接口,就并能使用各种支

2020-02-17

Adapter 适配器模式(设计模式03)

Adapter模式主要应用于“希望复用某些现存的类,但是 接口又与复用环境要求不一致的情况报告”,在遗留代码复用、类库迁移等方面非常有用。2、实现-Adaptee源码下载:

2020-02-17