修改docker-compose-cli.yaml 在默认的情况下,docker-compose-cli.yaml会启动6个service(容器),它们分别为 peer0.org1.example.com...2.4 启动多节点Fabric集群 1.启动orderer 进入到 VM5 的 fabric/examples/e2e_cli 目录下,运行 docker-compose -f docker-compose-cli.yaml...-c '{"Args":["query","a"]}' 上面的命令查看 mycc 中变量 a 的值,由于在 peer 跟 chaincode 发生互动之前还不存在运行 chaincode 的容器,因此第一次交互的时候需要先构建运行...chaincode 的容器,等待一段时间后返回结果:100 。...'{"Args":["init","c", "10","d","20"]}' 等待一段时间后,可以通过docker ps -a 来查看新容器构建的容器,该容器的名称为: dev-peer0.org1.
该网络共有4个peer节点,划分为2个组织(organizations),以及1个单独的orderer节点,此外还需要一个cli容器来与网络节点交互。...启动网络中所有节点: docker-compose -f docker-compose-cli.yaml up -d 2.创建channel 注意:CLI容器默认连接的是peer0.org1.example.com...首先进入cli容器中,之后的所有命令都是在该容器内部进行的: docker exec -it cli bash 执行以下命令创建通道,其中--cafile参数制定了orderer节点的TLS根CA证书的路径...对于指定的目标节点会生成chaincode镜像并运行该容器,而通道内其它安装了链码的节点则会在指定该节点查询或交易时自动生成镜像和容器。...节点,在区块链中添加新的区块,并更新至状态数据库。
在安装完Ubuntu后,需要保证apt source是国内的,不然如果是国外的话会很慢很慢的。...在命令模式下,输入: :%s/us./cn./g 就可以把所有的us.改为cn.了。然后输入:wq即可保存退出。 sudo apt-get update 更新一下源。...在安装Docker-Compose之前,需要安装Python-pip,运行脚本: sudo apt-get install python-pip 安装完成后,接下来从DaoClound安装Docker-compose.../network_setup.sh up 系统运行完毕后会看到这样的界面: 系统就会创建1个客户端实例cli,1个orderer节点,还有4个peer节点。...3.1在CLI中测试Example02 首先我们需要登录到CLI这个容器中,才能执行Fabric的CLI命令。
Fabric官方提供了专门编译cryptogen的入口,我们只需要运行以下命令即可: cd ~/go/src/github.com/hyperledger/fabric make cryptogen 运行后系统返回结果...4.初始化Fabric环境 4.1启动Fabric环境的容器 我们将整个Fabric Docker环境的配置放在docker-compose-cli.yaml后,只需要使用以下命令即可: docker-compose...-f docker-compose-cli.yaml up -d 最后这个-d参数如果不加,那么当前终端就会一直附加在docker-compose上,而如果加上的话,那么docker容器就在后台运行。...5.2Instantiate ChainCode实例化链上代码 实例化链上代码主要是在Peer所在的机器上对前面安装好的链上代码进行包装,生成对应Channel的Docker镜像和Docker容器。...总之完毕后,我们回到Ubuntu终端,使用docker ps可以看到有新的容器正在运行: CONTAINER ID IMAGE
,注释command命令 vim docker-compose-cli.yaml 注释`command`命令 运行docker-compose-cli.yaml image.png CHANNEL_NAME...=$CHANNEL_NAME TIMEOUT=600 docker-compose -f docker-compose-cli.yaml up -d 创建和加入通道 ---- 进入Docker容器 docker...docker容器 ..../startFabric.sh node 执行完成后,注册管理用户 node encrollAdmin.js node encrollAdmin.js运行成功 实现registerUser.js,生成用户账户...所以我们编辑后的query.js程序现在应该包含以下内容: 编辑query.js 重新运行query.js node query.js image.png FAQ 运行.
extra_hosts在容器环境配置上域名和ip映射, 会写到容器的/etc/hosts version: '2' services: zk1: container_name: zk1...-f docker-compose-kafka1.yaml up -d 其它节点配置类似. (6) 配置orderer节点对应文件 以orderer1.example.com节点为例, 编辑docker-compose-orderer1....yaml 这里需要指定networks为byfn, peer节点也需要归到该网络, 因为这里前三组的orderer和peer是运行在对应一台机器。...容器的ip自然不是86, 类似orderer监听的配置方法设置为0.0.0.0:7052就好了。 不过奇怪的是实际查看docker ps, 容器的7052是没暴露到宿主机器的。...笔者的环境不这样配就无法实例化链码,也需要设置peer, orderer,cli在同一个byfn网络内。 也有可能peer节点和orderer节点单独在不同机器就不需要这样配置, 请大家尝试。
本文将介绍如何使用 Docker 容器技术来建立起一个多节点 Fabric 集群,并且描述在集群上如何进行基本的操作,如 chaincode 的生命周期维护等。...如图1.1所示,在单个机器节点上通过 docker-compose 建立了5个节点的Fabric网络,每个节点都是由单独的 Docker 容器来模拟。...准备环境 运行Fabric节点需要依赖以下工具: a. Docker:用于管理Fabric镜像以及运行 peer 和 orderer 等组件 b....配置多节点Fabric集群 在单节点e2e_cli示例中,所有节点部署在同一个 docker-compose 的内部网络中,通过容器的7051端口进行通信。...启动多节点Fabric集群 在各个节点上配置好 Fabric 的启动环境后,需要依次登录到节点上通过docker-compose up的方式启动 Fabric 节点。
定义了使用的docker镜像fabric-orderer. environment定义了docker运行的容器中的环境变量,例如指定了日志级别,监听地址,生成创世块方式和路径,本地MSP路径,以及orderer...working_dir定义容器中的工作目录. command实际执行的orderer命令. volumes定义的外部主机和容器的路径卷映射(需要了解下docker中存储的映射)。...创建通道和加入通道 区块链网络有了, orderer网络管理节点有了, peer是启动了,但没加入网络和通道,以下命令行验证下(验证完后请exit退出docker容器命令行)。...切到cli容器向orderer更新通道, orderer是区块链网络的管理节点。...安装和运行链码 在cli容器中执行 root@f1f0fe5f2133:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode
清理 Docker 容器 4. CouchDB 节点 4.1. 安装 CouchDB 4.2. 启动 CouchDB 4.3. 备份与恢复 CouchDB 5....Orderer 节点安装 6.1. docker-compose-orderer.yml 6.2. 启动 Orderer 节点 7....我们仍然保持使用 Docker 在每个物理节点上,省去软件的编译和安装环节。 2.1. ...采用 Docker 运行 CouchDB的方案。 采用传统方式物理机上本地安装 CouchDB 理论两种方案对实际结果没有什么区别,只需提供IP地址,用户名与密码供其他节点访问即可。...启动 Orderer 节点 docker-compose -f docker-compose-orderer.yaml up -d 7.
Orderer 节点安装 6.1. docker-compose-orderer.yml 6.2. 启动 Orderer 节点 7....由于 Hyperledger Fabric 是建立在 Docker 基础之上的。所以不建议你去除 Docker 转而使用传统的本地编译安装方式。...我们仍然保持使用 Docker 在每个物理节点上,省去软件的编译和安装环节。 2.1....采用 Docker 运行 CouchDB的方案。 采用传统方式物理机上本地安装 CouchDB 理论两种方案对实际结果没有什么区别,只需提供IP地址,用户名与密码供其他节点访问即可。...启动 Orderer 节点 docker-compose -f docker-compose-orderer.yaml up -d 7.
步骤 一、编写docker-compose文件 当前由于是单机部署,所以共七个容器的配置都是写在一个docker-compose.yaml中的,现在需要拆分成两份,用于在两台机器上分别启动节点。...拆分的过程很简单,只需要在一份docker配置文件中保留Orderer节点,Org1的1个CA节点、2个Peer节点的配置,在另一份配置文件中保留Org2的1个CA、2个Peer的配置。...经过一些测试后我发现:只需要设置位于不同机器上的Orderer节点以及同组织其他节点的ip。...所有准备工作都已完成后,可以开始启动节点了,在两台主机的artifacts目录下分别执行一下命令启动所有容器: docker-compose up -d 接下来需要初始化网络,要完成的操作有:注册用户、...运行部署脚本后,新增机器会默认部署一个新组织,并启动所有节点(1CA, 2peer, 2couchdb)。如果需要自定义主机中需要部署的节点,对脚本稍作调整即可。
文后附下载PDF版本的方法。 3....源码的说明与使用 3.1 环境准备 假定 K8s 平台已经成功部署,并且在各个 worker 节点已经预先下载相应的 Fabric v1.0.0 的 Docker 镜像,如表3-1。...(预先下载镜像是由于国内网速较慢,在一台机器预先下载后,可用Docker命令导出并导入其他机器。)...为了在多节点共享证书等文件,使用了 NFS 服务器作为存储。在 K8s 中通过相应的 PV 和 PVC ,namespace 下的 Pod 可以通过 PVC 来获取与之相应的文件。 b....在实例化 chaincode (cc) 时,peer 需要连接 Docker 引擎来创建 cc 容器,因此要把 worker 宿主机的 var/run/docker.sock 映射到 peer 容器内部
Docker Compose 是用来定义和运行多容器的工具。可以通过 yaml 文件来配置应用程序需要的所有服务。说白了,就是批量管理 Docker 容器。...Orderer 排序服务节点 或 排序节点:Orderer 是一个运行实现交付担保的通信服务节点,例如原子性或总顺序广播。...并且在 peer 的公共服务中,我们还挂载了 /var/run/docker.sock 文件,有了该文件,在容器内就可以向其发送 http 请求和 Docker Daemon 通信,通俗理解,就是有了它...,就可以在容器内操作宿主机的 Docker 了,比如在容器内控制 Docker 再启动一个容器出来。...,在 /opt/gopath/src/ 目录下) 链码安装后,还需要实例化后才可以使用,只需要在任意一个节点实例化就可以了,以 Taobao 组织的 peer0 节点为例: $ docker exec
:后边接所属组织的MSPID,要与configtx.yaml文件中Organizations配置段的定义一致; 锚节点每个组织至少有一个,有多少个锚节点就创建多少个锚节点配置文件 5.启动docker容器...在peer-base.yaml文件里,第16行,${COMPOSE_PROJECT_NAME}是docker网络命名,这里自己填写 例如改为test-first-network docker-compose.../hyperledger/production删除 docker操作 查看docker镜像 docker images 查看docker运行的镜像 docker ps -a 查看docker网络列表 docker....org1.example.com 进入cli docker容器 docker exec -it cli bash 查看有哪些数据卷 docker volume ls 6.根据通道配置文件生成通道 docker...容器里的常用命令 peer 8.根据锚节点配置文件更新锚节点 #"peer0.org1" docker exec cli peer channel update -o orderer.example.com
本文介绍fabric的应用开发模型,Node SDK的使用以及运行一个简单的fabric应用示例。...前言 前面提到的fabric示例(如first-network和e2e-cli)都只是在单机上的简单测试,启动一个cli命令行容器来与网络成员节点进行交互,通过在cli容器中手动输入命令完成一系列操作。...应用程序一般运行于客户端节点上,负责处理请求并调用相应SDK与Peer节点,Orderer节点,CA节点进行通信。chiancode负责业务逻辑的执行,从账本查询数据或更新数据到账本。...5.Orderer sendBrodcast():发送数据到Ordere节点 sendDeliver():从Orderer节点获取数据 Balance Transfer Blacne transfer.../testAPIs.sh 该脚本完成: 创建通道并加入节点 按照和实例化链码 调用执行转账交易操作 进行各种查询操作 4.关闭网络 # 清除所有容器并删除docker网络 cd artifacts docker-compose
它定义了对于自己所在的 Peer 节点的信任域 (比如,组织) 节点本地 MSP 定义了节点的权限(比如,谁是节点管理员),同时也包含了对已注销过期的信息 用户的本地 MSP 允许用户在交易中证明自己是通道的成员...在通道 MSP 上下文中的通道策略定义了谁有能力参与通道上的某些操作,比如,添加组织,或者实例化链码 Peer 节点MSP:由一个单独组织所有,每个 Peer 节点都有一个单独的 MSP 实例维护在本地文件系统...使用 Peer 节点本地 MSP 来判定谁被授权操作的例子就是在 Peer 节点上安装链码 Orderer节点 MSP:就像 Peer 节点,排序节点也是由一个单独的组织所有,因此具有一个单独的 MSP...最新版 gitbash 最新版 1.运行docker,确保在gitbash下可以使用docker命令 2.配置go环境变量gopath,确保在gitbash下可以使用go命令 3.下载fabric仓库的...cli命令行 执行peer help查看全部帮助命令 peer channel create创建通道,参数如下 -o: orderer容器的域名和端口,如orderer.exmaple.com
简介 Fabric 1.4引入operation service即运维服务接口, orderer,peer节点可提供http服务, 方便外部获取节点的运行指标,管理日志级别,健康检查。 2..../byfn.sh up 2.1 Orderer节点运维服务 启动后连接到orderer容器 docker exec -it -e LINES=(tput lines) -e COLUMNS=(tput...这些配置我们只需在docker-compose.yaml使用环境变量重写即可, 见步骤(4) ######################################################...(4) docker-compose-cli.yaml例子 orderer.example.com: extends: file: base/docker-compose-base.yaml..., 返回一堆东西.. curl http://192.168.31.86:8443/metrics 2.2 Peer节点运维服务 和orderer类似, 不过容器对应的配置文件是/etc/hyperledger
vi后(esc 键退出命令模式, wq即可保存退出。...Docker-compose是支持通过模板脚本批量创建Docker容器的一个组件。...在安装Docker-Compose之前,需要安装Python-pip,运行脚本: 执行命令:sudo apt-get install python-pip 5.2 然后是安装docker-compose...### 下载完毕后,我们运行以下命令检查下载的镜像列表: 执行命令:docker images 7 、编译cryptogen 7.1 证书工具的使用 编译生成 cryptogen之前我们需要安装一个软件包.../tlsca.example.com-cert.pem -C mychannel -n mycc -c '{"Args":["invoke","a","b","20"]}' 第三步退出 在docker
Docker and Docker Compose orderer/peer节点启动,链码安装/实例化/执行/升级等用的。...保存退出后执行source命令让其立即生效 $ source ~/.bashrc $ 测试是否设置成功 - Check if it is successful $ echo $GOPATH /home/...,以及一个基于“solo”模式的orderer节点。...节点组织和peer节点组织的证书,以及创始块,配置交易块等信息,同时检查docker镜像版本。...关闭网络 这个会关闭并删除掉所有docker中与之相关的容器,没啥好说的。 $ ./byfn.sh down 另外,还有个重启命令,可以试试。 $ .
系统设计 Fabric系统主要由两个应用构成:Orderer和Peer,其中Orderer负责交易共识并生成区块,Peer节点负责模拟执行交易和记账。这种划分可以使整个平台拥有更好的弹性和扩展性。...Orderer目前支持SBFT和Kafka两种共识机制,其中SBFT是拜占庭容错算法PBFT的简化版,能够容忍部分节点故障,Kafka是一个中心化的排队服务,能提供更高的性能,两种共识算法分别适用于不同的场景...和其他区块链系统不同的是,交易共识在Fabric中被独立成为单独的系统,这样一来,参与共识的节点数变少,共识速度得到提高,Fabric的共识网络支持多链,即多个区块链账本可以共用同一张共识网络,降低系统部署和运维成本...链码被编译成一个独立的应用程序,运行于隔离的Docker容器中,在链码部署的时候会自动生成合约的Docker镜像。...共享账本 共享账本包括区块文件和K-V状态数据,区块文件存储在本地文件系统,由Peer节点负责写入,文件内容是排序后的区块数据,每个文件有大小限制,存储一定数量的区块,区块由交易共识系统产生,包含一条或多条交易
领取专属 10元无门槛券
手把手带您无忧上云