添加:export PATH=$HOME/hyperledger/fabric-samples/bin:$PATH 脚本自动运行 1.生成网络配置信息 该命令利用cryptogen和configtxgen.../byfn.sh -m up 3.关闭网络 该命令会删除所有容器、生成的配置文件以及chaincode镜像。 ....一.生成配置文件 1.生成证书 当前路径位于first-network目录下,运行以下命令会根据crypto-config.yaml配置文件生成crypto-config目录(MSP目录,包含成员的证书和私钥...该步会在channel-artifacts目录下生成Org1MSPanchors.tx和Org2MSPanchors.tx,这两个配置交易会在设置锚节点时使用。 .....首先进入cli容器中,之后的所有命令都是在该容器内部进行的: docker exec -it cli bash 执行以下命令创建通道,其中--cafile参数制定了orderer节点的TLS根CA证书的路径
/{OrgType}/{OrgName}/mps 3.3 模板文件 在 Kubernetes 中部署 Fabric 时,需要为每个节点编写相应的配置文件。...为提高效率,可通过模板自动生成配置文件。本文使用了5个模板文件,可用脚本替换其中的变量,均在笔者给出示例代码中的 templates 目录中,这些模板的作用如下: a....为了在多节点共享证书等文件,使用了 NFS 服务器作为存储。在 K8s 中通过相应的 PV 和 PVC ,namespace 下的 Pod 可以通过 PVC 来获取与之相应的文件。 b....CLI Pod 的 CORE_PEER_ADDRESS 环境变量默认值为 org 中的第一个 peer,可以通过修改该环境变量来连接不同的 peer 。...yaml 文件中的 command 是为了防止 CLI pod 自动退出,CLI 的默认工作目录为/opt/gopath/src/github.com/hyperledger/fabric/peer。
/crypto-config.yaml 在当前目录下自动生成crypto-config目录,里边存放了所有的证书与密钥,为MSP 提供服务 Name:组织名称 Domain:组织域名 Specs: ...: Name:在网络中的名称 ID:MSP中的唯一ID MSPDir:msp的相关目录 Policies:读写策略 AnchorPeers:锚节点配置 3.创建通道配置文件 configtxgen...:后边接所属组织的MSPID,要与configtx.yaml文件中Organizations配置段的定义一致; 锚节点每个组织至少有一个,有多少个锚节点就创建多少个锚节点配置文件 5.启动docker容器...docker容器 docker exec -it cli bash 查看有哪些数据卷 docker volume ls 6.根据通道配置文件生成通道 docker exec cli peer channel.../channel-artifacts/channel.tx -o:与某个排序节点连接; -c:通道名称; -f:使用通道配置文件; --tls:是否开启TLS加密传输协议; --cafile:服务端的证书文件
1.1编译生成cryptogen 我们既然获得了Fabric的源代码,那么就可以轻易的使用make命令编译需要的程序。...3.3配置CLI CLI在整个Fabric网络中扮演客户端的角色,我们在开发测试的时候可以用CLI来代替SDK,执行各种SDK能执行的操作。CLI会和Peer相连,把指令发送给对应的Peer执行。...CLI的配置在docker-compose-cli.yaml中,我们看看其中的内容: cli: container_name: cli image: hyperledger/fabric-tools...默认是以Admin@org1.example.com这个身份连接到Peer的。CLI启动的时候,会去执行....【注意:请注释掉cli中command这一行,我们不需要CLI启动的时候自动执行脚本,我们在步骤4,5要一步步的手动执行!】
测试阶段:根据定义好的benchmark配置文件,启动客户端子进程,执行相应的测试,返回统计结果。 报告阶段:分析统计结果,生成html报告。...在学习使用的时候可以重点关注fabric-samples文件夹下的相关配置,网络配置在network目录中,测试配置在benchmark文件夹中,智能合约文件在src/contract文件夹中。...命令 Cli提供了很多的辅助信息,可以使用–help进行查看。...目前Caliper测试Fabric v1.4以上版本使用的SDK采用的是SDK的高级API,封装效果好,但是测试结果发现,在8核16G的服务器上,测试的sendRate在800TPS左右的时候,服务器CPU...真正的测试需要社区排查解决CPU占用率过高的问题之后才能使用,我也会持续关注这个问题,个人认为是由于发送的时候建立了过多的event hub的连接导致的资源消耗过高的原因。
大概 2 年前,碰巧学习区块链(Hyperledger Fabric),便写了一个入门级的项目放在 GitHub 上,公众号有不少读者是通过这个项目关注到我的,也经常问我,有没有区块链这方面的学习资料,...题外话:以上这些技能除了在 fabric 区块链体系中需掌握,在如今火热的云原生技术下也一样是基础。...configtxlator:fabric 中 Protobuf 和 JSON 格式转换的工具,fabric 中任何的使用 Protobuf 定义的类型,都可使用该工具进行转换。...2、将 fabric 二进制工具添加到环境变量 为了后续方便使用命令,可以将第 1 步下载的工具添加到系统环境变量中: $ export PATH=${PWD}/hyperledger-fabric-linux-amd64...编写应用程序 在部署链码之后,我们是使用 cli 服务去调用的,但这种方式一般只是作为验证使用,更多情况下,应该是我们自己编写应用程序集成 fabric 提供的 SDK 去调用。
下面我们就试着讲Fabric CA集成到整个Fabric网络中,并用CA Client生成新用户,最终使用新用户调用ChainCode,验证新用户的合法性。...连接到CA Server,并生成相应的文件。...现在ChainCode已经开发完成,我们需要部署并测试该ChainCode的正确性,下面是部署步骤: 首先登陆到cli中: docker exec -it cli bash 然后在cli下面执行以下命令...以上就是关于Fabric CA环境集成的简单测试。关于CA Server有配置文件在CA Server容器内部,可以针对不同的org信息进行修改。...而CA Client也有配置文件,也可以在enroll之前进行修改。
/hyperledger/fabric.git 2.可以将代码切换到1.1.0版本 cd fabric git checkout v1.1.0 fabric镜像下载 (v1.1.0) 1.使用DaoCloud...> hyperledger/fabric-peer:latest // 打上latest标签 fabric网络测试 这里启动fabric中的e2e_cli示例来搭建一个简单的网络 1.进入到e2e_cli.../network_setup.sh up 2.该脚本执行后完成了以下工作: 编译生成cryptogen工具,根据crypto-config.yaml配置文件生成网络成员的证书和私钥; 通过configtxgen...工具,根据configtx.yaml配置文件生成创世区块(用于启动排序节点)和通道配置交易(用于创建通道); 根据docker-compose-cli.yaml配置文件启动容器,包括4Peer+Orderer...+CLI; CLI容器启动时会自动运行其中脚本scripts/script.sh,完成创建通道,将节点加入通道,安装和实例化链码,执行Chaincode进行相关查询和交易的任务。
这么一说你应该明白了把,实际上运维区块链就是在维护一个分布式数据库。 网上的绝大多数安装例子中,均采用 docker 部署方案,但无一例外的是,全部安装在一个物理机上。...由于 Hyperledger Fabric 是建立在 Docker 基础之上的。所以不建议你去除 Docker 转而使用传统的本地编译安装方式。...我们仍然保持使用 Docker 在每个物理节点上,省去软件的编译和安装环节。 2.1. ...但实际我们看到 Hyperledger Fabric 使用的镜像是 hyperledger/fabric-couchdb 不清楚是否有修改过 CouchDB 数据库。...Tools 节点安装 Tools 在生成创世区块的时候我们就曾经使用,你可以沿用之前的 tools 简单,或者创建一个 cli 节点,这个节点主要是用于管理区块链集群,例如合约部署,调试等等。
container_name定义在docker中的进程名. networks定义归属byfn区块链网络. extends定义继承使用docker-compose-base.yaml中orderer.example.com...定义了使用的docker镜像fabric-orderer. environment定义了docker运行的容器中的环境变量,例如指定了日志级别,监听地址,生成创世块方式和路径,本地MSP路径,以及orderer...,同理也是用configtxgen生成,我们看下对应配置文件configtx.yaml中Profile TwoOrgsChannel 的配置。...-outputCreateChannelTx选项也只是生成配置文件中的部分内容。 ?...安装和运行链码 在cli容器中执行 root@f1f0fe5f2133:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode
这么一说你应该明白了把,实际上运维区块链就是在维护一个分布式数据库。 网上的绝大多数安装例子中,均采用 docker 部署方案,但无一例外的是,全部安装在一个物理机上。...由于 Hyperledger Fabric 是建立在 Docker 基础之上的。所以不建议你去除 Docker 转而使用传统的本地编译安装方式。...我们仍然保持使用 Docker 在每个物理节点上,省去软件的编译和安装环节。 2.1....但实际我们看到 Hyperledger Fabric 使用的镜像是 hyperledger/fabric-couchdb 不清楚是否有修改过 CouchDB 数据库。...Tools 节点安装 Tools 在生成创世区块的时候我们就曾经使用,你可以沿用之前的 tools 简单,或者创建一个 cli 节点,这个节点主要是用于管理区块链集群,例如合约部署,调试等等。
Hyperledger Fabric CA 是 Hyperledger Fabric 的证书颁发机构 (CA)。...一、功能: 身份注册,或作为用户注册表连接到 LDAP 颁发注册证书 (ECerts) 证书更新和撤销 二、组成 1.Hyperledger Fabric CA服务器 2.Hyperledger Fabric...在本地目录中创建一个名为fabric-ca-server-config.yaml的默认配置文件,可以自定义。...:adminpw' 在与docker-compose.yml文件相同的目录中打开终端并执行以下命令: docker-compose up -d 3.创建自己的Fabric CA镜像 cd $GOPATH...1.CLI flags fabric-ca-client enroll --tls.client.certfile cert3.pem 2.Environment variables export FABRIC_CA_CLIENT_TLS_CLIENT_CERTFILE
所以准备出个教程,本来昨天已经在腾讯云实验室测试部署完成,但是由于没被审核通过,审核同学可能规矩比较严吧,再加上平时工作太忙了,没办法细致整合,我就把在实验室的原内容照搬在底下,只能让大家跟着文章,看一看...我们直接运行: 执行命令:cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/ 执行命令:source download-dockerimages.sh...### 下载完毕后,我们运行以下命令检查下载的镜像列表: 执行命令:docker images 7 、编译cryptogen 7.1 证书工具的使用 编译生成 cryptogen之前我们需要安装一个软件包...8 、启动Fabric网络并完成ChainCode的测试 我们仍然停留在e2e_cli文件夹,这里提供了启动、关闭Fabric网络的自动化脚本。.../network_setup.sh up 8.2 运行fabric 的example 我们仍然是以现在安装好的Example02为例,在官方例子中,channel名字是mychannel,链码的名字是
/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.0.0/hyperledger-fabric-linux-amd64...,还在目录中的各个 organization 子目录下插入相应的 K8S 配置文件。...,启动脚本的工作流程如下: · 在 Kubernetes 中创建org的 namespace; · 创建 org 的 ca pod ; · 创建 org 的 CLI pod...首先创建和加入 channel,使用 configtx 工具来生成与 channel 相关的文件: [1] 进入 CMD 客户机的 Fabric-on-K8S/setupCluster/ 目录: $...4.1 外部调用 在配置文件中 ca、peer 和 orderer 的 service 类型定义为 NodePort,这样做的目的是为了让用户在 K8S 外也能访问到Fabric中的各个成员,端口映射规则如下
前面的文章都是在讲解Fabric网络的搭建和ChainCode的开发,那么在ChainCode开发完毕后,我们就需要使用Fabric SDK做应用程序的开发了。.../msp/keystore', signedCert:'/home/studyzy/go/src/github.com/hyperledger/fabric/examples/e2e_cli/...因为我们跑e2e_cli的Fabric网络时,系统会自动安装Example02的ChainCode,然后自动跑查询,转账等操作。.../msp/keystore', signedCert:'/home/studyzy/go/src/github.com/hyperledger/fabric/examples/e2e_cli/...4.总结 我们以上的query和Invoke都是参照了官方的fabcar示例,该示例在https://github.com/hyperledger/fabric-samples/tree/release
以下是在Ubuntu中安装并测试Fabric 1.0 Beta的步骤: 一、环境准备 1.1 安装VirtualBox并在其中安装好Ubuntu 这一步其实没啥好说的,下载好最新版的VirtualBox...mkdir fabric-sample cd fabric-sample 然后就可以使用curl命令下载并运行自动化部署脚本了: 1.0 beta的命令是: curl -sSL https://raw.githubusercontent.com...在前面下载的官方提供的自动化部署脚本中,已经包含了启动Fabric实例的脚本。...3.1在CLI中测试Example02 首先我们需要登录到CLI这个容器中,才能执行Fabric的CLI命令。.../hyperledger/fabric/peer# 与0.6Fabric不同的是,在1.0中,链上代码是需要经过Install和Instantiate两步的。
选举和通信使用, 具体参考zookeeper文档。...一个比较重要的配置项是CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE, 这里注意到的${COMPOSE_PROJECT_NAME}是在.env文件中配置了值为net, 漏了会出问题...这个配置项从注释上来看好像是让chaincode实例化时新起的容器与所在的peer节点在同一个桥接网络中。...笔者的环境不这样配就无法实例化链码,也需要设置peer, orderer,cli在同一个byfn网络内。 也有可能peer节点和orderer节点单独在不同机器就不需要这样配置, 请大家尝试。...: container_name: cli image: hyperledger/fabric-tools:1.4.0 tty: true stdin_open: true
/fabric/hyperledger-fabric 下载hyperledger-fabric-linux-amd64-1.0.5.tar.gz压缩包 下载Linux对应压缩包 wget https...中创建init.sh image.png https://raw.githubusercontent.com/hyperledger/fabric/v1.0.5/scripts/bootstrap.sh.../crypto-config.yaml 在first-network目录下设置变量: export FABRIC_CFG_PATH=$PWD 设置变量并创建初始区块 执行 .....目录中安装客户端 npm install npm install 中1 npm install 中2 启动网络 ....在这里,我们使用CAR4。
fabric网络,使用fabric-explorer插件,实现对底层网络的具体化展示和实时化查询。...节点和一个cli共六个容器。...然后在Org1上的peer0节点和Org2上的peer1节点实例化链码,生成两个节点。...“keyValueStore”,在启动这个项目时会自动生成的一个临时文件,在运行start.sh时会删除,start.sh里面有命令rm -rf /tmp/fabric-client-kvs_peerOrg...因为在启动网络的时候,可以发现ca节点里面有这个命令:command: sh -c'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config
,生成构建 Fabric 网络所需的成员证书等必要材料: bash generateArtifacts.sh 该命令只需在某个VM上运行一次,其他VM上就不需要运行。...在运行该命令的VM中会生成 channel-artifacts 和 crypto-config 目录,需要把它们拷贝到其他VM的 e2e_cli 目录下,如果在VM中已经存在该目录,则先把目录删除。.../peer/:/opt/gopath/src/github.com/hyperledger/fabric/peer/ -/etc/hosts:/etc/hosts (3) 注释 cli 中的 depends_on...进入到 cli 容器后会自动跳转到 /opt/gopath/src/github.com/hyperledger/fabric/peer 目录,即工作目录,通过compose文件的配置,该目录映射为宿主机的.../hyperledger/fabric/examples/chaincode/go/chaincode_example02 在 VM1 的 cli 容器升级 chaincode ,添加两个变量 ‘c’和
领取专属 10元无门槛券
手把手带您无忧上云