Hyperledger Fabric CA 是 Hyperledger Fabric 的证书颁发机构 (CA)。...一、功能: 身份注册,或作为用户注册表连接到 LDAP 颁发注册证书 (ECerts) 证书更新和撤销 二、组成 1.Hyperledger Fabric CA服务器 2.Hyperledger Fabric...CA客户端 三、安装 1.在Ubuntu上安装GO 1.10+,这个之前已经安装过了 2.在Ubuntu上安装libtool依赖项 sudo apt install libtool libltd1-dev...在本地目录中创建一个名为fabric-ca-server-config.yaml的默认配置文件,可以自定义。...:adminpw' 在与docker-compose.yml文件相同的目录中打开终端并执行以下命令: docker-compose up -d 3.创建自己的Fabric CA镜像 cd $GOPATH
表象:Return schema invalid. required items must be unique recovered虽然 Fabric v2.2 已经发布了很久了,但之前因为项目历史问题,...一直使用的都是 Fabric v1.4.8,所以智能合约也一直使用的都是 github.com/hyperledger/fabric/core/chaincode/shim 包。...byte, error)在开发 Fabric v2.2 的智能合约时, 使用 github.com/hyperledger/fabric-contract-api-go/contractapi 替换 github.com...{}),或者是错误。...但是明明之前的也没有违反规则,为什么会报错呢?想不通为什么,所以准备给官方提个Issue,万一真是个bug呢?
1.Kafka排序服务原理 官方文档在google doc上 参考翻译 https://www.jianshu.com/p/db006359133d ?...extra_hosts在容器环境配置上域名和ip映射, 会写到容器的/etc/hosts version: '2' services: zk1: container_name: zk1..., 按照first-network的例子照搬, peer节点是可以跑起来, 但是peer节点之间的通信有一些报警或错误, 按理说extra_hosts是要配置的, 不然peer0无法识别peer1和orderer...一个比较重要的配置项是CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE, 这里注意到的${COMPOSE_PROJECT_NAME}是在.env文件中配置了值为net, 漏了会出问题...笔者的环境不这样配就无法实例化链码,也需要设置peer, orderer,cli在同一个byfn网络内。 也有可能peer节点和orderer节点单独在不同机器就不需要这样配置, 请大家尝试。
首先谈谈传统运维,总结为三个字“中心化”,当然有人反对并抛出“分布式”感念,传统运维的分布式仍然建立在中心化的基础之上。...区块链实际上就是数据库,一个只能插入和查询的数据库,数据不能被修改和删除,并且这个数据库没有DBA管理员角色。这么一说你应该明白了把,实际上运维区块链就是在维护一个分布式数据库。...由于 Hyperledger Fabric 是建立在 Docker 基础之上的。所以不建议你去除 Docker 转而使用传统的本地编译安装方式。...我们仍然保持使用 Docker 在每个物理节点上,省去软件的编译和安装环节。 2.1. ...:5984 同时连接CouchDB的用户与密码要正确 7.2.
首先谈谈传统运维,总结为三个字“中心化”,当然有人反对并抛出“分布式”感念,传统运维的分布式仍然建立在中心化的基础之上。...区块链实际上就是数据库,一个只能插入和查询的数据库,数据不能被修改和删除,并且这个数据库没有DBA管理员角色。这么一说你应该明白了把,实际上运维区块链就是在维护一个分布式数据库。...由于 Hyperledger Fabric 是建立在 Docker 基础之上的。所以不建议你去除 Docker 转而使用传统的本地编译安装方式。...我们仍然保持使用 Docker 在每个物理节点上,省去软件的编译和安装环节。 2.1....172.16.0.17:5984 同时连接CouchDB的用户与密码要正确 7.2.
准备 1.环境部署 包括需要的软件环境以及docker镜像,具体参考http://zhayujie.com/fabric/deploy.html 2.fabric-samples下载 从github上克隆.../hyperledger git clone -b master https://github.com/hyperledger/fabric-samples.git cd fabric-samples...3.二进制工具下载 下载地址:https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric.../channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP 二.启动网络 1.启动节点容器 运行之前需要修改...6.查询 查询a的值,这里假设cli的环境变量连接的仍是peer0.org1.example.com: peer chaincode query -C $CHANNEL_NAME -n mycc -c
博主之前的文章都是教大家怎么快速的搭建一个Fabric的环境,但是其中大量的工作都隐藏到了官方的脚本中,并不方便大家深入理解其中的过程,所以博主这里就将其中的过程一步步分解,方便大家!...1.生成公私钥和证书 Fabric中有两种类型的公私钥和证书,一种是给节点之前通讯安全而准备的TLS证书,另一种是用户登录和权限控制的用户证书。...CLI的配置在docker-compose-cli.yaml中,我们看看其中的内容: cli: container_name: cli image: hyperledger/fabric-tools...的安装及运行,也就是接下来要讲的步骤4和5.在文件映射配置上,我们注意到.....上查询并发起交易 现在链上代码的实例也有了,并且在实例化的时候指定了a账户100,b账户200,我们可以试着调用ChainCode的查询代码,验证一下,在cli容器内执行: peer chaincode
在Fabric上发布智能合约: TODO 编写智能合约代码 您需要使用支持的编程语言(如Go、Java、JavaScript等)编写智能合约代码。...您可以使用Hyperledger Fabric提供的示例智能合约作为参考,了解智能合约的结构和编写方式。示例智能合约可在Hyperledger Fabric的官方文档中找到。...以下是针对 Hyperledger Fabric 的智能合约示例: Go package main import ( "fmt" "github.com/hyperledger/fabric-contract-api-go...打包智能合约代码 在发布智能合约之前,需要将智能合约代码打包为一个可执行文件。要打包代码,需要使用peer lifecycle chaincode package命令。...请注意,此命令将返回智能合约的包ID,需要将其用于后续步骤。 审批智能合约 在将智能合约发布到通道之前,您需要审批智能合约定义。
最近开始研究区块链,对这个新兴的技术有了基本概念上的了解,所以打算基于一个开源项目做做实验。...部署 2.1 下载Fabric镜像 Fabric的Docker镜像是在https://hub.docker.com/r/hyperledger/ 我们要做实验主要用到peer,baseimage,membersrvc...,没有权限认证:4-peers.yml 另一种是在4节点Peer的基础上,再加上MembershipService节点,也就是需要权限认证的:4-peers-with-membersrvc.yml 另外还有再进一步...3.1.1部署Go语言的ChainCode并初始化 下面我们部署Example02到Fabric上: peer chaincode deploy -p github.com/hyperledger/fabric...我之前一直遇到这个异常,后来发现是baseimage没有latest版的造成的,所以2.1步骤不能出错。
但是如果你想了解BYFN是如何工作的,你可以参考: 1.Hyperledger Fabric官方BYFN教程 2.我之前关于BYFN的文章 基于帐户的钱包模型 基于帐户的钱包模型是交易系统的实现之一,一般而言系统中存在一些钱包...[可选]在我的负载测试和一些关于Hyperledger Fabric性能的论文中,LevelDB的性能优于CouchDB。...输入以下内容: rootProject.name = 'fabric-chaincode-gradle' 1.2 build.gradle 在左侧的项目文件面板中,可以看到build.gradle。...在Name字段中输入org.hyperledger.fabric.chaincode.AccountBasedChaincode: ? 然后,应该看到以下内容: ?...上面的AccountBasedChaincode(.java)是我们在Java中编写Chaincode的地方。 第2步——需求分析 在我们开始编码之前,让我们组织我们需要编码的内容。
入门 在我们开始之前,如果你还没有这样做,你可能希望检查是否已经在开发区块链应用程序和/或运行Hyperledger Fabric的平台上安装了所有前提条件。...前提条件 在我们开始之前,如果你还没有这样做,你可能希望检查您是否已经在开发区块链应用程序和/或运行Hyperledger Fabric的平台上安装了以下所有前提条件。...安装cURL 如果还没有安装cURL工具,或者文档中出现运行cURL命令的错误,请下载最新版本的cURL工具。 如果你在Windows系统上,请查看下面关于的Windows附件条件。...如果你在Windows上运行,你将希望使用Docker Quickstart终端来执行即将到来的终端命令,如果你之前没有安装,请看前提条件。...| bash -s 1.2.0 1.2.0 0.4.10 如果在运行上述curl命令时出现错误,那么可能使用的curl版本太旧,无法处理重定向或不支持的环境。
/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...首先,运行query.js 程序,返回账本上所有汽车列表。.../byfn.sh -m down出现错误的解决方法: https://segmentfault.com/a/1190000014221967 执行node registerUser.js出现错误:Failed
截止2020年下半年,比特币的账本数据总量已经接近300GB,这个数据量在大数据时代背景下的今天,其实不算大,掣肘比特币账本数据总量的主要原因是比特币系统对出块频率的限制。...相比于以比特币、以太坊为代表的公有链,联盟链在节点规模上相对会小的多,但是账本数据的膨胀问题对于以Hyperledger Fabric为代表的联盟链同样不可避免。...以Hyperledger Fabric为例,当有新的成员节点加入时,该成员节点往往需要全量同步链上区块账本数据后才能进行正常工作。主要原因可以归纳为以下两点: 一、权限问题。...而区块链本身的存在就是为了解决多方的信任问题,新的成员节点无法信任单个参与方的数据,却可以信任链上经过多方共识的数据。...在Hyperledger Fabric区块链网络中,区块数据通常会同时包含有效交易与无效交易。为了减少无效交易占用的存储空间以及减轻新节点加入通道后的账本数据重建工作。
在学习使用的时候可以重点关注fabric-samples文件夹下的相关配置,网络配置在network目录中,测试配置在benchmark文件夹中,智能合约文件在src/contract文件夹中。...局部安装 这种方式的好处是可以在同一台服务器上设置多个不同的测试客户端而且不会相互干扰。.../fabric-v1.4/2org1peergoleveldb/fabric-go.yaml \ --name caliper hyperledger/caliper 下面是docker-compose...目前Caliper测试Fabric v1.4以上版本使用的SDK采用的是SDK的高级API,封装效果好,但是测试结果发现,在8核16G的服务器上,测试的sendRate在800TPS左右的时候,服务器CPU...就已经满负荷运行了,无法提升单机的发送速率,和社区开发者交流后证实,在此版本之前,Caliper单机发送速率通过多进程的方式是可以达到4000TPS的,所以目前作者仅仅采用Caliper进行测试网络的初始化
同时,在控制台可以看到下面相似的代码: ===> Pulling fabric Images ====> hyperledger/fabric-peer:2.3.0 ... ====> hyperledger...三 操作 fabric-samples 保持 fabric-samples 在 scripts 文件夹下,无需移动,经我的测试发现没有问题。...我们先查看一下当前的镜像和容器,发现刚下载的容器,并没有在运行状态的,是正确的。 ? 3.1 启动测试网络 在 test-network 目录下,执行 sudo ....A : 因为之前的测试在使用阿里云的源时,在部署链码时总是遇见错误,原因未知。 Q : sudo ./network.sh deployCC 缺省参数为什么不行?...总是提示 “No chaincode name was provided.”。 A : 应该是配置文件的原因,不能自动补全缺省参数,自己指定 ccn、ccp 就可以了。
作为普通用户: 提出功能/改进建议 反馈错误 帮助测试在release roadmap上即将发布的史诗。将问题通过Jira或者RocketChat反馈给开发者。...贡献指南 安装前置条件 在我们开始之前,如果你还没有这样做那你可能需要检查一下您是否已经在将要开发区块链应用或者运行Hyperledger Fabric的平台上是否安装了运行所需的环境。...问题实际上是帮助改进项目的很好的方法,因为它们使我们的文档更加清晰。 反馈错误 如果你是一个用户,并且发现了错误,请使用JIRA来提交问题。...您还可以在Hyperledger Chat中将问题发布到相关的相关的Hyperledger Fabric的频道中。...评论“我在系统X上尝试过这个CR,是正确的”或者“我在系统X上运行这个CR发现了一些错误”将帮助维护者进行评估。因此,维护人员也能够更快地处理CR,并且每个人都能从中获益。
IMAGE TAG ID hyperledger/fabric-tools x86_64-1.0.0 0403fd1c72c7 hyperledger/fabric-orderer x86_64-1.0.0...e317ca5638ba hyperledger/fabric-peer x86_64-1.0.0 6830dcd7b9b5 hyperledger/fabric-ccenv x86_64-1.0.0...cluster-config.yaml cryptogen 工具根据 cluster-config.yaml 来生成 Fabric 成员的证书,一个简单的例子如下: OrdererOrgs: - Name...会启动失败,因此在启动 orderer 之前需要预先生成 genesis.block ,并将其放在相应的 org 目录下。...在实例化 chaincode (cc) 时,peer 需要连接 Docker 引擎来创建 cc 容器,因此要把 worker 宿主机的 var/run/docker.sock 映射到 peer 容器内部
准备工作(Prerequisites) 在开始之前,检查一下你的准备开发或者测试Fabric的平台是否有安装如下软件。...如果你还没装这个,或者在本文中使用curl命令出现了错误,可以考虑下载最新的版本。...1.4版本的fabric要求go版本在1.11.x以上。.../hyperledger/fabric/master/scripts/bootstrap.sh | bash -s 1.4.0 1.4.0 0.4.14 $ # 这一步耐心很重要,最好是在晚上睡觉的时候.../byfn.sh restart 错误记录 这里会放一些我在启动过程中遇到的,或者别人遇到的错误问题,和一些解决方案,不过目前我有点忘了,下次遇见的时候再记录下来。
本文将介绍Kfaka的基本工作原理,以及在Hyperledger Fabric中使用Kafka和zookeeper实现共识的原理,并通过一个实例剖析Hyperledger Farbic中Kafka共识的达成过程...如果希望快速掌握Fabric区块链的链码及应用开发,建议访问汇智网的在线互动课程: Fabric区块链Java开发详解 Fabric区块链NodeJs开发详解 一、Kafka工作原理 Kafka本质上是一个消息处理系统...三、Hyperledger Fabric Kafka实例解析 考虑下图,假设排序节点OSN0和OSN2时连接到广播客户端,OSN1连接到分发客户端。 ?...因此OSN1将4#区块返回客户端,处理结束 Kakfa的高性能对于Hyperledger Fabric有很大的帮助,多个排序节点通过Kafka实现同步,而Kafka本身并不是排序节点,它只是将排序节点通过流连接起来...总而言之,在Hyperledger Farbic中,Kafka共识模块是可以用于生产环境的,它可以支持崩溃容错, 但无法对抗恶意攻击。
我们仍然以官方的e2e_cli为例,关于这个例子的环境搭建,可以参考我的上一篇博客:http://www.cnblogs.com/studyzy/p/7437157.html 1.修改docker-compose.../fabric-ca environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server - FABRIC_CA_SERVER_CA_NAME...另外就是-b参数,指定了CA Client连接CA Server时使用的用户名密码。...连接到CA Server,并生成相应的文件。...而CA Client也有配置文件,也可以在enroll之前进行修改。
领取专属 10元无门槛券
手把手带您无忧上云