据了解,目前已经支持把 Fabric 部署在 Docker 和 Swarm 上,有关 K8s 的支持还在开发中。...图 2- 1 如图2-1所示,宿主机网络由蓝色线标记,节点有 cmd 客户机, Kubernetes 的 master 和 worker ,还有 NFS 服务器。...其中,cmd 客户机作为操作 K8S和 Fabric 集群的命令行客户机。NFS服务器在各个节点间用于共享 Fabric 和 K8s 的各种配置文件,也可以用其他 K8s 支持的共享存储代替。...编辑 /etc/default/docker,在 DOCKER_OPTS 中添加以下参数,设置 Kubernetes 使用的 DNS (很重要!)...cmd客户机可通过 cryptogen 工具生成 crypto-config 目录,该用于储存 Fabric 集群中节点的配置文件,如 peer0.org1 所用到的 msp 存放在以下目录: crypto-config
基于Hyperledger Cello Cello的定位是为Fabric提供一个BaaS平台,使用Web UI方便的管理区块链网络,节点和链码。 ?...理想丰满,希望兼容K8s,swarm等多容器,提供了安装网络,简单监控,安装链码,调用等基本功能,可惜bugs一堆,又得兼顾Fabric快速迭代的版本。...只是说这个项目暂时成熟度还不高,不过一旦成型,对于很多异构的容器,物理机等环境可能会是个不错的选择(开发成本高,短期内指望不上)。 2....(1) 自建区块链(单租户) Kubernetes可以简单使用Flannel网络(一种overlay覆盖网络,把请求TCP在另一网络虚拟路由中重新封包转发)把Fabric网络连通和隔离,基于NFS实现PV...(2) 多租户区块链 多租户需要各自的网络和存储要隔离,简单的可以使用calico虚拟路由直接iptable转发和配置ACL实现不同区块链网络的隔离, 存储基本也是NFS实现的PV/PVC 这里顺带提供个小福利
Hyperledger Fabric被设计成支持不同的模块组件直接拔插启用,并能适应在经济生态系统中错综复杂的各种场景。...创建Channel 现在我们的机器上正在运行对等节点和排序节点, 我们可以使用脚本创建用于在Org1和Org2之间进行交易的Fabric通道。...在Fabric中,智能合约作为链码以软件包的形式部署在网络上。链码安装在组织的对等节点上,然后部署到某个通道,然后可以在该通道中用于认可交易和区块链账本交互。.../bin:$PATH 还需要将fabric-samples代码库中的FABRIC_CFG_PATH设置为指向其中的core.yaml文件: export FABRIC_CFG_PATH=$PWD/.....测试网络脚本还提供了使用证书颁发机构(CA)的网络的启动选项。在网络中每个组织操作一个CA(或多个中间CA)来创建属于他们的组织身份,所有由该组织运行的CA创建的身份享有相同的组织信任根源。
从Hyperledger概念的角度来看,区块链网络与比特币或以太网等加密货币的代表无法比较。相反,Hyperledger网络的节点分布在参与组织中,这使得私有,许可或联盟区块链网络特别有趣。...通过描述的脚本,我们可以在Docker-Compose中启动一个简单的Fabric网络,获得对等管理员访问权限并停止并再次删除它。...我们不直接使用Fabric概念开发链代码,权限或任何模型,因为Composer提供了更多优势。 实施功能 现在我们在我们选择的目录中创建我们的BND项目。...对于Yeoman(使用模板设置项目的代码生成器,如Maven Archtypes),有一个模板(hyperledger-composer:businessnetwork。...对于由真正的组织联盟跨越的区块链网络,我们仍然有一些问题需要解决: 我们如何管理组织和对等节点?组织如何自动将新的对等节点添加到网络中?我们如何获得一个可以抵御失败的公平和同质的网络?
两方或多方之间的任何业务关系的健康程度对应于上述 3 种属性的不同级别(例如,更信任意味着需要的透明度更少,反之亦然),但其中一些属性必须存在,否则就会出现问题。...在本教程中,我将使用 Docker 作为网络容器环境,而另一个选择是带 VirtualBox 的 Vagrant。如果从未使用过 Vagrant,您至少应该尝试一下。...将用于此目的的预构建 Docker 镜像命名为 hyperledger/fabric-membersrvc。 vp0:网络中的单独验证对等节点。...对于开发目的,我们不需要奢侈地执行对等网络验证,只需要一个对等节点即可。...hyperledger/fabric-peer 等同于 hyperledger/fabric-peer:latest。 一些环境变量由 vp0 对等节点设置。
从那时起,我开始使用Fabric,并认真地研究了Sawtooth和Iroha,然而Fabric并不是正确的解决方案,而Sawtooth和Iroha又没有准备好。...验证节点可以使用Gossip协议来分发半签名交易,作为多重签名交易的一部分。当分类账本状态存储在PostgreSQL中时,区块存储在文件中。如果用发散性思维去想的话,这个项目会有无限的可能性。...其中有一些想法非常有趣,但目前还没有投入运行。 Quilt提供了使用跨账本协议(Interledger Protocol)在不同账本系统间进行相互操作的能力,该协议通常被用在支付场景。...这有点像Docker Swarm或Kubernetes,只不过它是用在区块链上的。该项目经常和Hyperledger Explorer资源管理器结合使用。...Explorer是一个用户友好的Web应用程序,它可以查看、调用、部署或查询区块、交易和相关数据、网络信息、链码和交易族(transaction families)以及储存在分类账本中的其他相关信息。
运行fabric-samples中的示例:创建第一个网络(Building Your First Network)。...该步会在channel-artifacts目录下生成Org1MSPanchors.tx和Org2MSPanchors.tx,这两个配置交易会在设置锚节点时使用。 .....首先进入cli容器中,之后的所有命令都是在该容器内部进行的: docker exec -it cli bash 执行以下命令创建通道,其中--cafile参数制定了orderer节点的TLS根CA证书的路径...对于指定的目标节点会生成chaincode镜像并运行该容器,而通道内其它安装了链码的节点则会在指定该节点查询或交易时自动生成镜像和容器。...-p参数设置了背书策略,这里是OR ('Org1MSP.member','Org2MSP.member'),表示交易需要Org1或Org2中的任意一个peer进行一次背书,该交易就是有效的。
引言 此前的文章中,我们介绍了 Docker 的使用以及工作原理: 一文带你全面了解 docker 的概念与使用 docker 赖以实现资源隔离与限制的原理 我们看到 Docker 的本质其实就是被...这对于我们单机部署多个相互有依赖关系的 Docker 镜像时,有着很大的帮助。 但对于多个物理机或虚拟主机组成的集群来说,Docker Compose 就力不从心了。...Docker Swarm 将集群中不同的设备划分为两种不同的角色:Manager 和 Worker,它们组成了 Docker Overlay Network 网络机制: Worker 负责业务容器的运行...如果将 Docker Swarm 看成是承载了战斗机集群的一架航母,那么 Kubernetes 可以被看作是一个航母设计平台。...4.2.4 ConfigMap 与 Secret 在一个集群中,我们经常会需要维护许许多多诸如密钥、密码键值对等信息,这时,我们就需要定义 Secret 节点,当使用该 Secret 的 Pod 启动时
前言 目前工作中负责一个针对 Hyperledger Fabric 的区块链即服务 (Blockchain as a Service, BaaS) 平台的链码管理部分,对这 BaaS 平台的架构与实现很感兴趣...BaaS 简介 区块链是一个复杂的分布式系统,尤其是像 Hyperledger Fabric 这样的企业联盟链平台,其部署和运维都非常复杂,作为应用开发者需要处理许多环境问题(如证书、docker 环境等...通过 BaaS 平台,用户可以很灵活地搭建区块链网络、管理区块链业务和各个模块的功能、进行智能合约的研发和部署以及实时监控和运维。...Cello 目前支持 Hyperledger Fabric 区块链,可以有效管理 Fabric 链的生命周期,主要包含以下模块: 除了高效地创建部署网络外,Cello 提供了一些对于区块链的管理功能:...区块链生命周期管理 底层支持多种架构,如 Docker、Swarm、Kubernetes 等 支持多种底层区块链平台并可以自定义配置 支持运行时监控与运维 可插拔的框架设计,可以通过插件的形式拓展第三方功能
在Win10家庭版上装的Ubantu 18.04版本的虚拟机,文档主要参考的是Fabric Release-1.4版本。...$ cd ~/hyperledger-fabric/fabric-samples/bin $ sudo cp * /usr/local/bin 生成网络构件 生成构件的过程中,会生成包括orderer...-1 1.4.0 $ # 如果不匹配,则删除错误版本的镜像,重新设置版本安装镜像 $ # 删除全部镜像 $ docker images|awk '{printf "%s:%s\n",$1,$2}'|...关闭网络 这个会关闭并删除掉所有docker中与之相关的容器,没啥好说的。 $ ./byfn.sh down 另外,还有个重启命令,可以试试。 $ ....所以,接下来,我会深入写一篇关于手动构建fabric网络,包括自己生成组织,证书,启动排序、对等节点,以及手撸链码的日志。等有空再说吧,现在正在给fabric加密类型增加国密算法,可能懒得写了就。
企业应用的安全性是重中之重,尤其是许多应用场景牵扯到高价值交易或敏感数据,因此提供了很多机制来保障安全性(如Fabric的通道机制等) 除了与现有的系统交互外,企业未来的区块链应用中还可能会和很多不同的区块链网络进行交互...不同于Ethereum,Fabric使用 Docker 而不是特定的虚拟机来存放链码,提供了一个安全、轻便的语言执行环境。...外界的客户端是通过gRPC来对Fabric网络中的各个节点进行远程调用,而P2P网络中各个节点之间的同步是通过Gossip协议来进行的。...Fabric 区块链核心角色 首先要提的是Fabric网络中的角色都是逻辑角色,比如 Peer 节点 A 可能既是排序节点,也可能在某些业务中是背书节点,而一个角色也不仅仅由单一节点担任。...将共识机制、权限管理、加密机制、账本等模块都设置为可插拔,且不同的链码可以设置不同的背书策略,信任机制更加灵活,这样可以根据业务需要设置自己的高效系统。
与不限制网络成员资格的无权限区块链相比,我们专注于许可的区块链,其中所有参与节点的身份都是已知的。...通过将数据存储与对等任务的其余部分分离,我们可以设想用于块和世界状态备份的多种类型的数据存储,包括在其文件系统中存储块和世界状态备份的单个服务器,如Fabric目前所做的那样;数据库或键值存储,如LevelDB...我们使用Fabric1.2作为基本情况,并逐步添加我们的改进以进行比较。默认情况下,fabric配置为使用leveldb作为对等状态数据库,排序服务将已完成的块存储在内存中,而不是磁盘上。...结果与我们自己设定的目标一致,即不因吞吐量增加而引入额外的延迟;事实上,我们的性能改进将对等延迟减少到原始值的三分之一(请注意,这些实验没有考虑网络延迟)。...通过使用状态存储哈希表(opt p-i),我们能够将Fabric1.2对等机的吞吐量从3200个交易/秒增加到7500多个交易/秒。
要实现设置网络别名的目的,自然要先确保所有涉及的容器位于同一个网络中,这时候就需要引出我们之前在网络小节里说到的 Overlay 网络了。 ?...Overlay Network 能够跨越物理主机的限制,让多个处于不同 Docker daemon 实例中的容器连接到同一个网络,并且让这些容器感觉这个网络与其他类型的网络没有区别。...对于 Docker Swarm 来说,每一个 Docker daemon 的实例都可以成为集群中的一个节点,而在 Docker daemon 加入到集群成为其中的一员后,集群的管理节点就能对它进行控制。...加入到集群的节点默认为普通节点,如果要以管理节点的身份加入到集群中,我们可以通过 docker swarm join-token 命令来获得管理节点的加入命令。...在创建了这个网络之后,我们可以在任何一个加入到集群的 Docker 实例上使用 docker network ls查看一下其下的网络列表。我们会发现这个网络定义已经同步到了所有集群中的节点上。
:latest peer node start 使用 PBFT 模式 PBFT 是经典的分布式一致性算法,也是 hyperledger 目前最推荐的算法,该算法至少需要 4 个节点。...$ cd docker-compose-files/hyperledger $ docker-compose up 多物理节点部署 上述方案的典型场景是单物理节点上部署多个 Peer 节点。...如果要扩展到多物理节点,需要容器云平台的支持,如 Swarm 等。 当然,用户也可以分别在各个物理节点上通过手动启动容器的方案来实现跨主机组网,每个物理节点作为一个 peer 节点。...首先,以 4 节点下的 PBFT 模式为例,配置 4 台互相连通的物理机,分别按照上述步骤配置 Docker,下载镜像。 4 台物理机分别命名为 vp0 ~ vp3。.../fabric-peer:latest peer node start 服务端口 Hyperledger 默认监听的服务端口包括: 7050: REST 服务端口,推荐 NVP 节点开放,旧版本中为 5000
在Docker Swarm集群中配置网络通常涉及创建Overlay网络,以便在集群中的不同节点上的服务和容器之间建立通信。...,并将当前主机设置为Swarm的管理节点。...Docker网络使得水平扩展变得容易,新的微服务实例可以轻松地加入到现有的网络中。 通过Swarm模式或Kubernetes等容器编排工具,可以自动管理微服务实例的扩展和收缩,而无需手动配置网络。...2.2 在容器编排工具中的应用 容器编排工具如Kubernetes、Docker Swarm等在管理大规模容器化应用程序时发挥着关键作用。...在配置Docker网络时,可以选择不同的网络模式,如桥接模式、主机模式和Overlay模式,根据具体需求进行选择。此外,还可以通过创建自定义桥接网络或使用第三方网络插件来实现更灵活和高级的网络功能。
Hyperledger Fabric 2.5和2.4新特性 一,2.5新特性: Hyperledger Fabric v2.5中的新增功能 1.清除私有数据的历史记录 虽然一直以来都可以从当前状态中删除私人数据...有用的清除私人数据的需求,隐私的原因或遵守政府法规。 从状态和对等体的私有数据历史记录中删除私有数据,这样就不能再从块事件或其他对等体中查询这些数据。...Docker镜像利用动态链接的二进制文件,现在基于Ubuntu(而不是Alpine),使其与典型的生产运行时环境更加一致(生产运行时环境通常基于glibc,并且通常需要动态链接HSM模块)。...二,2.4新特性: Hyperledger Fabric v2.4 中的新增功能 1.结构网关 结构网关是在对等节点上运行的一项新服务,用于管理客户端应用程序的事务提交和处理,具有以下优点: 简化客户端应用程序和...3.计算打包链码的包 ID 您可以使用新的对等节点生命周期链码 calculatepackageid 命令从打包的链码计算包 ID 计算打包,而无需在节点上安装链码。
打包智能合约 现在,你已经创建了智能合约并了解其中的交易,是时候打包了。智能合约项目打包成.CDS文件,这是一种特殊类型的文件,可以安装在Hyperledger Fabric节点上。...为了使用智能合约,必须在一个通道上实例化它。 “节点”部分包含一个对等节点(peer0.org1.example.com)。...image 提交和查询事务 Fabric网关和Hyperledger Fabric网络的peer进行连接,客户端应用程序可以使用该网关提交事务。...要使用网关,你还需要用于在该网络上进行交易的身份。同样,对于本地Fabric运行时,已经为你设置了此时间。...让我们来检查一下…… readMyAsset用于读取而不是写入分类帐,因此这次选择查询交易。输入[“ 001”](或任何你设置的键)作为参数。
网上的绝大多数安装例子中,均采用 docker 部署方案,但无一例外的是,全部安装在一个物理机上。如果是生产环境,我们必须分开不是,首先要做的工作是化整为零,拆解应用,搞明白每个容器的功能和作用。...由于 Hyperledger Fabric 是建立在 Docker 基础之上的。所以不建议你去除 Docker 转而使用传统的本地编译安装方式。...我们仍然保持使用 Docker 在每个物理节点上,省去软件的编译和安装环节。 2.1. ...准备物理机 物理机 ca 节点,域名:ca.example.com,端口:7054 orderer 节点,域名 orderer.example.com,端口:7050 peer 节点,域名:peer.example.com...://172.16.0.17:5984/_utils/ 请使用上面设置的密码进入。
网上的绝大多数安装例子中,均采用 docker 部署方案,但无一例外的是,全部安装在一个物理机上。如果是生产环境,我们必须分开不是,首先要做的工作是化整为零,拆解应用,搞明白每个容器的功能和作用。...由于 Hyperledger Fabric 是建立在 Docker 基础之上的。所以不建议你去除 Docker 转而使用传统的本地编译安装方式。...我们仍然保持使用 Docker 在每个物理节点上,省去软件的编译和安装环节。 2.1....准备物理机 物理机 ca 节点,域名:ca.example.com,端口:7054 orderer 节点,域名 orderer.example.com,端口:7050 peer 节点,域名:peer.example.com...://172.16.0.17:5984/_utils/ 请使用上面设置的密码进入。
Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务,对于微服务的部署,显然 Docker Swarm 会更加适合...各种基于标准API的工具,如Compose、docker-py,各种管理软件,甚至Docker本身等都可以很容易地与Swarm进行集成。这大大方便了用户将原先基于单节点的系统移植到Swarm上。...资源的核心抽象主要包括: 容器组(Pod):由位于同一节点上若干容器组成,彼此共享网络命名空间和存储卷(Volume)。Pod是Kubernetes中进行管理的最小资源单位,是最为基础的概念。...节点可以是虚拟机或者物理机器,在创建 Kubernetes集群过程中,都要预装一些必要的软件来响应Master的管理。...探测的结果可能为成功、失败或未知。其中LivenessProbe反映的是容器自身状态,如果配置了重启策略,则失败状态会触发自动重启;而ReadinessProbe字段用来反映容器内的服务是否可用。
领取专属 10元无门槛券
手把手带您无忧上云