hyperledger fabric 测试(四)1.14 fabric网络迭代

Hyperledger Fabric 区块链多机部署 目录 目录 Hyperledger Fabric 区块链多机部署 环境介绍 源码编译以及fabric 区块链网络部署环境准备 编译 fabric区块链相关可执行程序 编译 go 相关工具 编译 fabric基础环境 编译区块链服务相关工具 多机部署fabric网络solo共识 配置 fabric 网络用户拓扑关系 配置Orderer 节点的启动创世区块新建通道交易的相 阅读详情

1.退出当前容器命令:exit

查看当前分支版本:git status

停止当前网络运行:./byfn.sh down

寻找可用的版本:git fetch origin

跳转到1.2.0分支:git checkout v1.2.0

生成创世区块:./byfn.sh generate

启动1.2.0版本网络:./byfn.sh up -t 3000 -i 1.2.0

跳转到主分支:git fetch origin

跳转要更新的版本:git checkout v1.3.0

2.停止背书节点:docker stop orderer.example.com

设置分类账环境变量:export LEDGERS_BACKUP=./ledgers-backup

设置1.3.0版本镜像标签:export IMAGE_TAG=$(go env GOARCH)-1.3.0 //不知道tag可以上GitHub查tag

创建背书节点的分类账备份文件夹:mkdir -p $LEDGERS_BACKUP

备份分类账本和msp:docker cp orderer.example.com:/var/hyperledger/production/orderer/ ./$LEDGERS_BACKUP/orderer.example.com

下载重新启动背书节点:docker-compose -f docker-compose-cli.yaml up -d --no-deps orderer.example.com

3.设置节点环境变量:export PEER=peer0.org1.example.com

停止节点运行:docker stop $PEER

创建对等节点备份文件夹:mkdir -p $LEDGERS_BACKUP

备份账本和msp:docker cp $PEER:/var/hyperledger/production ./$LEDGERS_BACKUP/$PEER

删除对等节点链码容器:CC_CONTAINERS=$(docker ps | grep dev-$PEER | awk '{print $1}')

if [ -n "$CC_CONTAINERS" ] ; then docker rm -f $CC_CONTAINERS ; fi

删除对等节点容器镜像:CC_IMAGES=$(docker images | grep dev-$PEER | awk '{print $1}')

if [ -n "$CC_IMAGES" ] ; then docker rmi -f $CC_IMAGES ; fi

下载对等节点镜像和重新启动容器:docker-compose -f docker-compose-cli.yaml up -d --no-deps $PEER

停止cli容器:docker-compose -f docker-compose-cli.yaml stop cli

获取1.3版本的cli容器:IMAGE_TAG=$(go env GOARCH)-1.3.0 docker-compose -f docker-compose-cli.yaml up -d --no-deps cli

进入cli容器:docker exec -it cli bash

设置通道名称环境变量:CH_NAME=mychannel

设置排序服务根证书环境变量:ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

进行转账调用测试:peer chaincode invoke -o orderer.example.com:7050 --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 --tls --cafile $ORDERER_CA  -C $CH_NAME -n mycc -c '{"Args":["invoke","a","b","10"]}'

测试是否调用成功:peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'//80即可

退出当前容器:exit

同理更新每一个容器:export PEER=peer1.org1.example.com export PEER=peer0.org2.example.com export PEER=peer1.org2.example.com //没有详细写,如上步骤

步骤:docker stop $PEER

docker cp $PEER:/var/hyperledger/production ./$LEDGERS_BACKUP/$PEER

CC_CONTAINERS=$(docker ps | grep dev-$PEER | awk '{print $1}')

if [ -n "$CC_CONTAINERS" ] ; then docker rm -f $CC_CONTAINERS ; fi

CC_IMAGES=$(docker images | grep dev-$PEER | awk '{print $1}')

if [ -n "$CC_IMAGES" ] ; then docker rmi -f $CC_IMAGES ; fi

docker-compose -f docker-compose-cli.yaml up -d --no-deps $PEER

docker-compose -f docker-compose-cli.yaml stop cli

IMAGE_TAG=$(go env GOARCH)-1.3.0 docker-compose -f docker-compose-cli.yaml up -d --no-deps cli

4.背书节点系统信道

进入cli 容器:docker exec -it cli bash

查看当前容器状态:env|grep PEER

背书节点信道组

设置环境变量:CORE_PEER_LOCALMSPID="OrdererMSP"

CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/users/Admin@example.com/msp

ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

设置通道名称CH_NAME=testchainid

信道组:

获取最新配置区块:

peer channel fetch config config_block.pb -o orderer.example.com:7050 -c $CH_NAME --tls --cafile $ORDERER_CA

易于编辑,转化pb为json:configtxlator proto_decode --input config_block.pb --type common.Block --output config_block.json

去除元数据等:

jq .data.data[0].payload.data.config config_block.json > config.json

添加更新功能文件:jq -s '.[0] * {"channel_group":{"values": {"Capabilities": .[1]}}}' config.json ./scripts/capabilities.json > modified_config.json

将其转化为二进制更新文件:configtxlator proto_encode --input config.json --type common.Config --output config.pb

configtxlator proto_encode --input modified_config.json --type common.Config --output modified_config.pb

configtxlator compute_update --channel_id $CH_NAME --original config.pb --updated modified_config.pb --output config_update.pb //同添加组织步骤

将配置更新文件打包成事务:configtxlator proto_decode --input config_update.pb --type common.ConfigUpdate --output config_update.json

echo '{"payload":{"header":{"channel_header":{"channel_id":"'$CH_NAME'", "type":2}},"data":{"config_update":'$(cat config_update.json)'}}}' | jq . > config_update_in_envelope.json

configtxlator proto_encode --input config_update_in_envelope.json --type common.Envelope --output config_update_in_envelope.pb

签名并提交更新:peer channel update -f config_update_in_envelope.pb -c $CH_NAME -o orderer.example.com:7050 --tls true --cafile $ORDERER_CA

5.个人组

背书节点环境变量

设置环境变量:export CORE_PEER_LOCALMSPID="Org1MSP"

export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt

export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp

export CORE_PEER_ADDRESS=peer0.org1.example.com:7051

export ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

export CH_NAME="mychannel"

信道组:

同理进行如上加蓝步骤

使用org1管理员进行提交更新:peer channel signconfigtx -f config_update_in_envelope.pb

进入org2管理员环境进行签名:export CORE_PEER_LOCALMSPID="Org2MSP"

export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt

export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp

export CORE_PEER_ADDRESS=peer0.org2.example.com:7051

org2管理员签名提交更新:peer channel signconfigtx -f config_update_in_envelope.pb

进入排序节点组织进行签名环境:

CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/users/Admin@example.com/msp

ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

进行签名提交更新:peer channel update -f config_update_in_envelope.pb -c $CH_NAME -o orderer.example.com:7050 --tls true --cafile $ORDERER_CA

应用组:

进入org1环境变量:

export CORE_PEER_LOCALMSPID="Org1MSP"

export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt

export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp

export CORE_PEER_ADDRESS=peer0.org1.example.com:7051

export ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

执行如上蓝色步骤

进行签名提交更新:

peer channel signconfigtx -f config_update_in_envelope.pb

进入org2环境变量:

export CORE_PEER_LOCALMSPID="Org2MSP"

export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt

export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp

export CORE_PEER_ADDRESS=peer0.org2.example.com:7051

进行签名并提交更新:peer channel update -f config_update_in_envelope.pb -c $CH_NAME -o orderer.example.com:7050 --tls true --cafile $ORDERER_CA

6.验证升级是否完成:

进行转账操作:peer chaincode invoke -o orderer.example.com:7050 --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 --tls --cafile $ORDERER_CA  -C $CH_NAME -n mycc -c '{"Args":["invoke","a","b","10"]}'

查询结果:peer chaincode query -C $CH_NAME -n mycc -c '{"Args":["query","a"]}'

结果:Query Result: 70 //出现任何数字都可以

hyperledger fabric 2.0(一)环境搭建以及测试网络部署 一、基础环境整理(可参照:https://blog.csdn.net/tianshuhao521/article/details/83892178 https://blog.csdn.net/tianshuhao521/article/details/83894142) 1、安装curl: # yum install curl 安装成功后查看版本: # curl --version ... 阅读详情

相关推荐

Hyperledger Fabric 环境搭建及Fabric 测试网络使用(区块链、联盟链)

系统环境: [root@localhost ~]# cat /proc/version Linux version 3.10.0-1160.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Mon Oct 19 16:18:59 UTC 2020 官网手册: https://www.hyperledger.org/use/fabric 软

A&Long 1万+

Hyperledger fabric介绍(三)——网络拓扑结构

1.2.3.4.5.

qq_65114400的博客 750

Hyperledger Caliper测试Fabric网络性能

1. 启动一个fabric网络 根据测试需要,在configtx.yaml中设置合适的参数以及排序服务类型。 BatchTimeout: 2s BatchSize: MaxMessageCount: 100 AbsoluteMaxBytes: 99 MB PreferredMaxBytes: 512 KB 启动网络,以test-network为例 cd test-network ./network.sh up createChannel ./

algiz_kk的博客 2687

技术分享 | app自动化测试(Android)-- Capability 使用进阶

Capability 是一组键值对的集合(比如:"platformName": "Android")。Capability 主要用于通知 Appium 服务端建立 Session 需要的信息。客户端使用特定语言生成 Capabilities,最终会以 JSON 对象的形式发送给 Appium 服务端。Appium底层架构比如下面的例子展示了几个重要的 capabilities:python版本Java 版本‍通用的Capability参数Capabilities 参数支持多种平台。

m0_73480674的博客 653

Hyperledger Fabric 1.0 安装和使用

注意:代码路径已更新,可以直接参考 https://github.com/yeasy/docker-compose-files/tree/master/hyperledger_fabric/。Hyperledger Fabric 1.0 版本整体 重新设计了架构,预计将于今年 3 月份发布。目前已经进入了 alpha 阶段,可以进行功能性验证。本文将介绍如何快速启动一个 Fabric 1.0 的网...

yeasy的专栏 2万+

Hyperledger Fabric2.3 环境搭建及Fabric 测试网络使用

1、安装ubuntu20 Download Ubuntu Desktop | Download | Ubuntu 2、下载 安装环境 3、下载fabric2.3.0文件 https://github.com/hyperledger/fabric/tree/v2.3.0

大伟的博客 1万+

深入理解hyperledger fabric-1.4环境搭建的详细过程

1、导言: 为了学习fabric底层运行原理,这两天基于fabric 1.4版本手动部署了一个多机网络,期间遇到了很多各种各样的问题,同时也一个一个解决了,最终成功把多机fabric网络部署起来,也进行了一些简单交易测试。整个部署过程加深了本人的fabric网络的认识,再次特地把整个过程记录下来,方便以后复习;另外希望能帮助到有类似需求的人们。 2、准备工作 知识准备 ...

草根工厂——技术虐我千百遍,我依然待你如初恋 2万+

vietjetair 航空的webpack多参数生成学习

工作内不是特别多,居安思危,有一个抓机票信息的公司面试前竟然需要做面试题,这就是一个题。看了下,有点麻烦,webpack 最初不得要领,看了下资料,找了个框架,练了两个简单的,搞这个吧。入库需要自己找,有几个参数不是明文的,算法不是很复杂,位置不太好找。整体难度一般。

liu_yueyang的博客 1510

iOS云打包如何设置通用链接等Capabilities配置

链接地址:https://ask.dcloud.net.cn/article/36393#unilink

在工作中记录下美好的瞬间~~ 2036

Zemax 中的 LED 阵列模型

这些光线是所有光线的子集,用于布局可视化,而不是详细分析。X 和 Y 散度(αx 和 αy)以度为单位,以不同的方式设置为 6 度和 12 度。每个 LED 都以朗伯模式(广角分布)发光,尽管有些 LED 具有内置光学元件,用于更窄或更聚焦的光束。,具体取决于这些类别中使用的半导体材料。LED 阵列由多个发光二极管 (LED) 组成,这些二极管以特定模式或配置排列,以实现均匀照明、更高强度或特定照明特性。如果数据的存在更改为“辐射强度”,则它以弧度为单位显示每个立体角的功率,作为探测器上入射角的函数。

jkh920184196的博客 1595

华为Atlas 300I推理卡驱动安装全攻略:从环境检查到常见问题解决

本文提供了华为Atlas 300I推理卡驱动安装的完整实战指南。从安装前的系统环境检查、内核版本匹配,到详细的二进制.run文件安装步骤、源码编译及高级定制化部署,涵盖了驱动安装的全流程。文章重点解析了安装过程中的关键决策、常见问题排查与解决方案,并针对生产环境的多卡配置、性能调优及安全加固给出了专业建议,旨在帮助用户高效、稳定地完成AI推理加速卡的部署。

swift5iosmith的博客 628

HyperLedger Fabric链码开发及测试

1.链码开发 先设计一个简单的应用场景,假设有这样的业务需求: 可以添加学校,信息包括学校名称、学校ID; 添加该学校的学生,信息包括姓名,用户ID,所在学校ID,所在班级名称; 更新学生信息; 根据学生ID查询学生信息; 根据学生ID删除学生信息; 根据学校ID删除学校信息,包括该学校下的所有学生。 接下来开发满足这些需求的链码。关键代码如下 1.1 定义School,Student...

TripleS_X的博客 8360

LAMMPS模拟新合金没势函数?手把手教你用`pair_style hybrid`混合势函数(附FeCMnSiTi案例)

本文详细介绍了在LAMMPS中如何使用`pair_style hybrid`混合势函数模拟新型高熵合金(如FeCMnSiTi),解决缺乏现成势函数的问题。通过实战案例,涵盖参数查找、命令编写、错误排查等关键步骤,特别适合处理多组元体系的复杂相互作用。文章还提供了EAM势函数与LJ势的组合技巧,帮助研究者准确模拟合金性能。

weixin_30635053的博客 243

Hyperledger Fabric 入门笔记(四)Fabric V2.5 测试网络基础

本篇主要参考官方技术文档,介绍了测试网络的准备和基本使用,另外将CLI测试链码和示例应用的内容也放在了这里。

sbsy123456的博客 8969

极智嘉嵌入式面试题及参考答案

IIC(Inter-Integrated Circuit)即集成电路总线,是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。它仅使用两根线,即串行数据线 SDA 和串行时钟线 SCL,就能实现多个设备之间的通信,具有简单、高效、占用资源少等优点,广泛应用于各种嵌入式系统中。

大模型大数据攻城狮的专栏 920

【数据集】CMIP6气候模式数据下载

简介CMIP6及其气候模式数据下载

WW、forever的博客 9352

Ubuntu环境下搭建hyperledger fabric测试网络详细教程

Ubuntu环境下搭建hyperledger fabric超级无敌详细教程 一、搭建前提条件 1.1 如果尚未安装最新版本的git,请安装它 $ sudo apt-get install git 1.2 如果尚未安装最新版本的curl,请安装它 $ sudo apt-get install curl 1.3 如果尚未安装最新版本的Docker,请安装它 1.3.1 如果安装了docker旧版本,卸载旧版本docker(可选) $ sudo apt-get remove docker docker-en

qq_41831136的博客 8220

万字解析——区块链hyperledger fabric2.2部署实战教程

本文为官方文档解析,包含了network测试网络和两个实战示例。

专攻毕设大企鹅的博客 3万+

C# WPF上位机开发(利用tcp/ip网络访问plc)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 c# wpf如果是用来开发非标上位机的,那么和plc的通信肯定是少不了的。而且,大部分plc都支持modbus协议,所以这个时候如果有一个库可以帮助我们和plc设备进行modbus通信,那就非常方便的。目前NuGet下关于modbus的函数库还是有一些的,比如EasyModbus。

嵌入式-老费,一个分享专业嵌入式知识的blog 2528

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Hyperledger Fabric的网络拓扑图与交易流程

1. Fabric中的四种节点 客户端节点 介于应用程序与底层之间,是两者之间交互的媒介节点。它不能独立存在,必须与Orderer节点与Peer节点建立连接,才可以发挥作用,比如连接到Orderer节点进行通道创建,连接到Peer节点进行交易模拟执行 Peer节点 Peer节点是一个统称,包含了Anchor(锚节点),Endorser(背书节点)以及Committer(记账节点) Anchor锚节点是与组织密切关联的。一个组织内部可能会有多个Peer节点,但是只会有一个Anchor锚节点,它是组织内部唯一与

pigff的博客 4229

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Hyperledger Fabric搭建测试网络

本文使用的Fabric版本:V2.5.4Ubuntu系统:16.04LTS前序文章已经详细介绍了如何安装部署Hyperledger Fabric系统,这里不再赘述。本篇文章主要介绍如何使用Fabric的测试网络。为了方便,。

读万卷书 行万里路 2808

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Hyperledger Fabric 2.3.3 安装过程及网络测试

本文参考网上搭建 fabric 的搭建过程,文章包含搭建过程已经遇到的问题解决办法。

猿舟率 1万+

(一)HyperLedger Fabric 2.0-release编译镜像二进制文件+测试网络部署

1.环境准备 系统工具 版本 备注 CentOS 7 Docker 18.09.4 Docker-compose 1.32.2 参考:CentOS7安装Docker-compose推荐方案 GO 1.13.4 参考:CentOS7安装Go 2.下载源码 1.创建go工作目录 mkdir go mkdir go/src mkdir go/pkg mkdir go...

富强说 1万+

Fabric上搭建Hyperledger caliper进行性能测试

Fabric介绍()Hyperledger(超级账本)是Linux基金会旗下的项目,Fabric是Hyperledger项目里最早也是目前应用最广泛的区块链项目,最初由IBM开发,后来捐助给基金会。HyperledgerCaliper介绍()HyperledgerCaliper是一个通用的区块链性能测试框架,它允许用户使用自定义的用例测试不同的区块链解决方案,并得到一组性能测试结果。安装nodejs。......

怕什么真理无穷,进一寸有一寸的欢喜。即使开了一辆老掉牙的破车,只要在前行就好,偶尔吹点小风,这就是幸 4578

1.4 测试Hyperledger Fabric网络

目标 熟悉 byfn.sh 脚本的相关命令 能够自动实现你的第一个Fabric网络环境 任务实现 恭喜你,年青人,你经过了漫长的苦修,且经过了诸多的煎熬之后,终于可以进入Fabric的世界,成功已经微笑着向你招手了。 Hyperledger Fabric 网络环境的构成较为复杂,由N个节点组成一个分布式网络,每个节点都有自己的实体身份标识;而且 Hyperledger Fabric 还可以...

hanxiaodong 1470
上一篇: hyperledger fabric 测试(三) 1.13 加入新的组织
下一篇: hyperledger fabric 测试(五)1.15私有数据
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值