首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hyperledger Fabric BYFN之配置基础篇

container_name定义在docker中的进程名. networks定义归属byfn区块链网络. extends定义继承使用docker-compose-base.yaml中orderer.example.com...定义了使用的docker镜像fabric-orderer. environment定义了docker运行的容器中的环境变量,例如指定了日志级别,监听地址,生成创世块方式和路径,本地MSP路径,以及orderer...block channel-artifacts文件夹下生成了genesis.block, 容器中映射为 /var/hyperledger/orderer/orderer.genesis.block...安装和运行链码 在cli容器中执行 root@f1f0fe5f2133:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode.../byfn.sh up 更新这里指定了两个Peer, 一般指定对应的背书节点就好,当然发送个通道的所有Peer节点。

1.1K10

构建一个应用程序来展示区块链是如何工作的

要查看当前的区块链,请在命令提示符中输入blockchain或bc。你应该看到如下图所示的块。 ? Block的索引:表示它是哪个块,Genesis块的索引为0。 哈希:表示块是否有效。...Genesis Block 每个区块链都将从Genesis Block开始。正如你稍后将看到的,区块链上的每个块都依赖于前一个块。因此,需要Genesis块来挖掘我们的第一个块。...在我们的例子中,有效哈希至少有四个前导0。查找与有效哈希相对应的随机数的过程是挖掘。 随着难度的增加,可能的有效哈希的数量减少。利用较少的有效哈希值,查找有效哈希需要更多处理能力。 为什么这很重要?...Hyperledger Fabric 区块链开发详解,本课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric...Hyperledger Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含

1.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    深入理解Fabric环境搭建的详细过程

    博主之前的文章都是教大家怎么快速的搭建一个Fabric的环境,但是其中大量的工作都隐藏到了官方的脚本中,并不方便大家深入理解其中的过程,所以博主这里就将其中的过程一步步分解,方便大家!.../tls ports: - 7051:7051 - 7052:7052 - 7053:7053 在Peer的配置中,主要是给Peer分配好各种服务的地址,以及TLS...3.3配置CLI CLI在整个Fabric网络中扮演客户端的角色,我们在开发测试的时候可以用CLI来代替SDK,执行各种SDK能执行的操作。CLI会和Peer相连,把指令发送给对应的Peer执行。...CLI的配置在docker-compose-cli.yaml中,我们看看其中的内容: cli: container_name: cli image: hyperledger/fabric-tools...【注意:请注释掉cli中command这一行,我们不需要CLI启动的时候自动执行脚本,我们在步骤4,5要一步步的手动执行!】

    2K10

    Hyperledger fabric 1.4 kafka排序服务原理与安装

    2. kafka 排序服务安装 所有的代码已分享在 https://github.com/zealzeng/kafka-orderer-demo 2.1 安装环境 官方文档有一些简单的描述 https:.../channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block - ....一个比较重要的配置项是CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE, 这里注意到的${COMPOSE_PROJECT_NAME}是在.env文件中配置了值为net, 漏了会出问题...这个配置项从注释上来看好像是让chaincode实例化时新起的容器与所在的peer节点在同一个桥接网络中。...笔者的环境不这样配就无法实例化链码,也需要设置peer, orderer,cli在同一个byfn网络内。 也有可能peer节点和orderer节点单独在不同机器就不需要这样配置, 请大家尝试。

    91320

    Fabric示例——first network

    运行fabric-samples中的示例:创建第一个网络(Building Your First Network)。.../byfn.sh -m down 手动分步运行 为了更好理解fabric网络创建的具体过程,可以手动一步步完成上述脚本中包含的所有操作。.../crypto-config.yaml 2.生成创世区块 会创建channel-artifacts目录,并在该目录下生成genesis.block,创世区块用于启动网络中的排序节点。...首先进入cli容器中,之后的所有命令都是在该容器内部进行的: docker exec -it cli bash 执行以下命令创建通道,其中--cafile参数制定了orderer节点的TLS根CA证书的路径.../go/chaincode_example02.go 执行命令将链码文件安装到指定peer节点的文件系统中(这里只在peer0.example.org1.com安装了): peer chaincode

    2K30

    区块链账本数据同步模式

    截止2020年下半年,比特币的账本数据总量已经接近300GB,这个数据量在大数据时代背景下的今天,其实不算大,掣肘比特币账本数据总量的主要原因是比特币系统对出块频率的限制。...相比于以比特币、以太坊为代表的公有链,联盟链在节点规模上相对会小的多,但是账本数据的膨胀问题对于以Hyperledger Fabric为代表的联盟链同样不可避免。...因此如果联盟链中可以对链上的数据状态在某一个时间点达成共识,使得新的参与成员可以信任这个时间节点前的所有账本数据,那么新参与成员只需要重建该时间节点后的账本数据,从而极大地减少账本数据的重建工作。...在Hyperledger Fabric区块链网络中,区块数据通常会同时包含有效交易与无效交易。为了减少无效交易占用的存储空间以及减轻新节点加入通道后的账本数据重建工作。...Hyperledger Fabric提出了基于检查点机制(checkpoint)的有效账本数据裁剪方案,即各个peer在过滤区块中的无效交易并生成有效账本后,会根据系统设定的账本检查点(区块数量间隔),

    1.5K20

    hyperledger v1.0.5 区块链运维入门(一)

    首先谈谈传统运维,总结为三个字“中心化”,当然有人反对并抛出“分布式”感念,传统运维的分布式仍然建立在中心化的基础之上。...网上的绝大多数安装例子中,均采用 docker 部署方案,但无一例外的是,全部安装在一个物理机上。如果是生产环境,我们必须分开不是,首先要做的工作是化整为零,拆解应用,搞明白每个容器的功能和作用。...由于 Hyperledger Fabric 是建立在 Docker 基础之上的。所以不建议你去除 Docker 转而使用传统的本地编译安装方式。...我们仍然保持使用 Docker 在每个物理节点上,省去软件的编译和安装环节。 2.1. ...CouchDB 节点 整个 Hyperledger Fabric 技术栈中只有这个 CouchDB 是个外来户,看到 CouchDB 我就非常兴奋,这是一个NoSQL数据库(它与MongoDB十分类似

    2.2K110

    Fabric进阶(一)—— 修改组织和通道的名称

    组织(Org)和通道(Channel)的名称是fabric网络比较重要的两个配置参数,在fabric提供的示例中都已经设置好了这两个参数,一般组织名为"Org1"和"Org2",通道名为"mychannel...balance-transfer是fabric-samples中的一个示例,基于fabric Node SDK实现了一个较为完整的应用程序,这里选择的是v1.0.0版本。...一、获取工具cryptogen和configtxgen 下载cryptogen和configtxgen这两个工具的方法在first-network示例中已经介绍,除了这种从网络直接下载的方法,还可以在fabric...该文件位于CA节点的文件系统中,需要在启动CA节点后进入容器内部: docker exec -it ca_peerOrg1 // 假设此时还未修改组织名称 cat /etc/hyperledger...0) { ... } } ORGS对象是从network-config.json中读取的所有组织信息,键分别为"orderer", "org1"和"org2"(未修改前),这一段循环的意思是对

    1.8K30

    Hyperledger Fabric基础之账本

    参考 https://hyperledger-fabric.readthedocs.io/en/release-1.2/ledger/ledger.html Ledger记账本是Hyperdger Fabric...同理Hyperledger Fabric结构也是类似的,需要记录Asset资产的当前状态和交易的历史。 区块链的账本 区块链的账本包含两部分,world state(世界的状态?整体的状态?)...上图为例, B0是第一个区块,也称为genesis block创世块,没交易记录,只会保存有通道,orderer,peer等信息,后面我们实际部署配置的时候会用到创世块。...重要的是,Hyperledger Fabric作为state DB实现的level DB或couchDB都是可插拔的设计, 完全可能用其它的关系型数据库或非关系型数据库实现。...基础完结, 后面我们会通过Hyperledger Fabric的入门例子, 实际操作和配置, 使用Go和Nodejs编写联链码。

    95100

    hyperledger v1.0.5 区块链运维入门

    首先谈谈传统运维,总结为三个字“中心化”,当然有人反对并抛出“分布式”感念,传统运维的分布式仍然建立在中心化的基础之上。...网上的绝大多数安装例子中,均采用 docker 部署方案,但无一例外的是,全部安装在一个物理机上。如果是生产环境,我们必须分开不是,首先要做的工作是化整为零,拆解应用,搞明白每个容器的功能和作用。...由于 Hyperledger Fabric 是建立在 Docker 基础之上的。所以不建议你去除 Docker 转而使用传统的本地编译安装方式。...我们仍然保持使用 Docker 在每个物理节点上,省去软件的编译和安装环节。 2.1....CouchDB 节点 整个 Hyperledger Fabric 技术栈中只有这个 CouchDB 是个外来户,看到 CouchDB 我就非常兴奋,这是一个NoSQL数据库(它与MongoDB十分类似

    2.6K80

    企业应该选择哪种区块链

    一个企业中,在潜在竞争者参与的联盟网络中,必须在同伴之间启用区块链通道,而这些通道对于联盟的所有成员都不可见。...终局性(finality) 在区块链结构中,终局性指的是对所有的块一旦被提交到区块链就不会被撤销的结构完整的确定性难度。当用户进行交易时,他们希望在交易完成后确信交易不能随意更改或撤消。...其次,有一个区块链,一个记录决定世界状态的所有变化的事务日志。事务在块附加到区块链中的块内收集,使您能够了解是什么事务(交易)导致当前世界状态的更改历史记录。...它是一个不可变的块序列,每个块都包含一组有序事务。...HyperLedger Fabric支持需要将隐私(使用信道)作为关键操作需求的网络,同时也是相对开放的网络。 共识 事务必须按照它们发生的顺序写在帐本上,即使它们可能是网络中不同的参与者生成的。

    1.6K00

    Hyperledger Fabric之模型

    Hyperledger Fabric当前主要使用Go语言和Nodejs开发链码, 使用Go兼容好些快些, 在BYFN官方例子中安装Nodejs链码时间较长,时不时timeout(不排除环境配置差异或有误...(10) 通道的账本包含一个配置的区块用于定义各种策略,权限控制以及其它相关信息,这个区块我们称为Genesis Block创世块。...所以,通道保证交易在广阔的网络中私有,而私有数据集合保证交易在通道的组织的下属中私有。...安全与会员服务 Hyperledger Fabric是一个基于所有参与者都有已知的身份的交易网络,公钥基础设施用于组织,网络组件,终端用户或终端应用生成加密证书。...但是,共识不仅是交易中顺序如何达成一致,Hyperledger Fabric通过在整个交易流程中它的基础角色突出了这些差异,从计划和背书,到ordering排序,验证和提交,简而言之,共识被定义为整个周期的组成区块的一组交易的正确性的验证

    1.1K20

    fabric进阶—Fabric新特性

    Hyperledger Fabric 2.5和2.4新特性 一,2.5新特性: Hyperledger Fabric v2.5中的新增功能 1.清除私有数据的历史记录 虽然一直以来都可以从当前状态中删除私人数据...有用的清除私人数据的需求,隐私的原因或遵守政府法规。 从状态和对等体的私有数据历史记录中删除私有数据,这样就不能再从块事件或其他对等体中查询这些数据。...二,2.4新特性: Hyperledger Fabric v2.4 中的新增功能 1.结构网关 结构网关是在对等节点上运行的一项新服务,用于管理客户端应用程序的事务提交和处理,具有以下优点: 简化客户端应用程序和...所有通道资源都将从对等方中删除,并且对等方将不再处理来自通道的块。 有关更多详细信息,请参阅对等节点取消加入命令参考主题。...例如,在以下情况下,此命令将很有用: 当安装了多个具有相同标签名称的链码包时,可以在以后识别哪个 ID 对应于哪个包。 在不安装特定链码包的情况下检查是否安装了该包。

    35120

    Fabric区块链kafka共识入门 原

    在Hyperledger Fabric区块链中可以有多个Kafka节点,使用zookeeper进行同步管理。...本文将介绍Kfaka的基本工作原理,以及在Hyperledger Fabric中使用Kafka和zookeeper实现共识的原理,并通过一个实例剖析Hyperledger Farbic中Kafka共识的达成过程...在zookeeper中存储的元数据包括: 消费者分组在每个分区的读取偏移量 访问控制清单,用于访问授权与限制 生产者及消费者配额,每秒最多消息数量 分区领导者及健康信息 二、Hyperledger Fabric...中的Kafka 要理解在超级账本Hyperledger Fabric中的Kafka是如何工作的,首先需要理解几个重要的术语: Chain - 指的是一组客户端(通道/channel)可以访问的日志 Channel...在Hyperledger Fabric中的Kafka实际运行逻辑如下: 对于每一条链,都有一个对应的分区 每个链对应一个单一的分区主题 排序节点负责将来自特定链的交易(通过广播RPC接收)中继到对应的分区

    2.1K20

    FastFabric:提升Hyperledger Fabric性能到20000TPS

    在初始校验之后,区块被推入队列,保证其添加到区块链。但是,在此之前,区块会依次执行两个验证步骤和最后一个提交步骤。 在第一个验证步骤中,将解压缩块中的所有交易,检查其语法并验证其认可。...Orderer改进II:消息流水线 在Fabric 1.2中,订购服务逐个处理来自任何给定客户端的传入交易。...我们评估订单在订单1.2中的交易率,并将其与我们的改进进行比较: •opt o-i:仅向卡夫卡发布事务ID(第三-B节) •选择O-II:来自客户的并行传入交易建议(第III-C节) 图4显示了不同负载大小的交易吞吐量...来自此Peer的块被发送到单个数据存储服务器,该服务器将世界状态存储在leveldb中,并将块存储在文件系统中。对于扩展,五个背书者复制对等状态并提供足够的吞吐量来处理客户端背书负载。...在最近的工作中,sharma等人[14]研究了使用数据库技术,即事务重新排序和提前中止,来提高fabric的性能。他们关于早期识别冲突交易的一些想法与我们的想法是正交的,可以纳入我们的解决方案。

    1.6K10

    Hyperledger Fabric1.0运行Fabcar以及常见问题解决(持续更新)

    中创建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 设置变量并创建初始区块 执行 ...../channel-artifacts/genesis.block 生成应用通道的配置信息 ---- 生成应用通道的配置信息 export CHANNEL_NAME=mychannel .....-c:指定调用链码的所需参数 -p:指定安装链码的所在路径 -P:指定背书策略 Node.js SDK和fabcar交互 ---- 进入fabric-samples目录下的fabcar目录中 cd fabric-samples...应用程序中预先加载了一个queryAllCars函数,用于查询所有车辆,因此我们可以简单地运行程序: node query.js node query.js运行成功 如果想返回某个车辆信息,编辑query.js

    2.1K00

    Fabric的6大特性

    成员准入 Hyperledger Fabric是用于准入网络的框架,其中所有参与者都具有已知身份。在考虑准入的网络时,您应该考虑您的区块链用例是否需要遵守数据保护法规。...性能,可伸缩性和信任级别 Hyperledger Fabric建立在模块化架构之上,该架构将事务处理分为三个阶段:分布式逻辑处理和协议(“链码”),事务排序以及事务验证和承诺。...这种分离具有多个优点:跨节点类型所需的信任和验证级别更少,并且网络可伸缩性和性能得到了优化。 为了说明这一点,让我们看一下Hyperledger Fabric v1.0中的事务流,如下图所示。 ?...6)当提交peer节点收到一批事务时 7)验证是否符合背书策略,并检查读/写集以检测冲突的事务。如果两项检查均通过,则该块将提交到账本,并且每个事务的状态更新都将反映在状态数据库中。...在Hyperledger Fabric v1.X中,可以动态和以编程方式添加peer,而不是像v0.6中那样以静态方式添加。例如,假设一家管理外汇汇率的公司有一家新银行要添加到网络中。

    1.2K20
    领券