生成一个根CA(RootCA),在根CA下3个中间CA(IntermediaCA). 1. 运行和配置RootCA服务#cd /opt/gopath/src/github.com/hyperledger/fabric-ca/bin#mkdir ca-server#cd ca-server#fabric-ca-server start -b admin:adminpw --home ./rootca --cfg.affiliations.allowremove --cfg.identities.a…
11.1 Kafka模式简介       上一章介绍的Solo模式只存在一个排序(orderer)服务,是一种中心化结构,一旦排序(orderer)服务出现了问题,整个区块链网络将会崩溃,为了能在正式环境中稳定运行,需要对排序(orderer)服务采用集群方式,Hyperledger Fabric采用kafka方式实现排序(orderer)服务的集群,kafka模块被认为是半中心化结构.       顺便提一下,去中心化的BFT(拜占庭容错)排序(orderer)服务集群方式目前还在开发,还没有…
三.测试Fabric 其实我们在前面运行./network_setup.sh up的时候系统已经运行了一个Example02的ChainCode测试,部署上去的ChainCodeName是mycc,所以接下来我们要测试的话不能再初始化并部署同样名字的ChainCode了,我们可以使用自己另外命名的名字,比如devincc. 3.1在CLI中测试Example02 首先我们需要登录到CLI这个容器中,才能执行Fabric的CLI命令. docker exec -it cli bash 如果成功进入…
介绍Hyperledger Fabric CA的命令行方式简单用法 Hyperledger Fabric CA由server和client两部分组成. 设置两个环境变量 export FABRIC_CA_SERVER_HOME=/path_to/fabric-ca/server export FABRIC_CA_CLIENT_HOME=/path_to/fabric-ca/client server的操作主要有两个: 1. 初始化Server服务 在server启动之前,需要至少有一个自我认证的…
概述 下面的图表说明了如何将Hyperledger Fabric CA与总体的Hyperledger Fabric结构相匹配. 有两种方式与一种Hyperledger Fabric CA服务器进行交互:通过Hyperledger Fabric CA的客户端或通过任意一种Fabric的SDKs.所有与Hyperledger Fabric CA服务器的通信都是通过REST api进行的.有关这些REST api的swagger文档,请参见fabric-ca/swagger/swagger-fabri…
Fabric CA用户指南 Hyperledger Fabric CA是一种用于Hyperledger Fabric的认证机构(CA). 它提供了如下特性: 登记身份(注册ID),或者连接到作为用户注册表的LDAP(LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根据需要定制). 签发背书证书(Enrollment Certificates——ECerts) 证书…
首先,我们在安装前,要考虑一个问题 Hyperledger Fabric,通过指定的节点进行背书授权,才能完成交易的存储 延伸开来,就是为了实现容错.高并发.易扩展,需要zookeeper来选择排序引擎处理记账的唯一性 我们这里选择kafka排序引擎并通过Kafka集群和zookeeper集群保证数据的一致性,实现排序功能 同时,为了排序服务器的稳定,采取多Orderer集群实现容错空间, 为此,我们采用了最基础的配置方案:两个组织,四个节点 两个CA服务器,三个Zookeeper服务器,四个K…
安装准备 1. 安装git.cRUL.gcc/g++和make $ sudo apt-get update $ sudo apt-get install build-essential git curl make $ $ which gcc /usr/bin/gcc 2. 安装Docker和Docker Compose 安装Docker-CE 参考: ubuntu16.04下docker安装和简单使用 ! 注意安装的docker版本是否满足要求 查看docker版本 $ docker --ver…
Fabric CA User’s Guide——开始 先决条件 安装Go 1.9+ 设置正确的GOPATH环境变量 安装了libtool和libtdhl-dev包 下面是在Ubuntu上安装libtool依赖命令: sudo apt install libtool libltdl-dev 下面是在MacOSX上安装libtool依赖命令: brew install libtool 注意:在MacOSX上没有必要使用libtldl-dev 有关libtool的更多信息,请参见https://www…
单机单节点指在一台电脑上部署一个排序(Orderer)服务.一个组织(Org1),一个节点(Peer,属于Org1),然后运行官方案例中的example02智能合约例子,实现转财交易和查询功能.单机单节点部署结构图如下: 图:单机单节点部署结构图 单机单节点部署步骤如下:1. 创建singlepeer目录 # cd $GOPATH/src/github.com/hyperledger/fabric # mkdir singlepeer # cd singlepeer 2. 获取生成工具 把下载的…
摘要 Fabric 网络启动的过程中需要进行大量配置,新学时对各个配置的作用一无所知,这导致我曾在网络出问题时先对配置文件的内容进行排列组合后再祈祷它能在某个时刻顺利运行,因此掌握 fabric 各个配置项的含义至关重要.本文对 configtxgen 的配置文件 configtx.yaml 进行了详细的分析解释,对 peer . orderer . fabric-ca 容器的常用环境变量也给除了详细说明,其中某些配置由于比较罕见因此并没有展开介绍,直接使用默认值即可,会在将来用上时再更新. 准…
配置设置 Fabric CA提供了三种方案去配置Fabric CA服务端和客户端,优先顺序是: CLI flags(标识) 环境变量 配置文件 在本文档的其余部分中,我们将对配置文件进行更改.但是,可以通过环境变量或CLI flags(标识)覆盖配置文件更改. 例如,如果我们在客户端配置文件中有以下内容: tls: # Enable TLS (default: false) enabled: false # TLS for the client's listenting port (defaul…
Membership Service Providers (MSP) 本文将介绍有关MSPs的设置和最佳实践的详细方案. Membership Service Providers (MSP)是一个旨在提供成员操作体系结构抽象的组件. 尤其是MSP抽象出发布和验证证书的所有加密机制.协议以及用户身份验证.MSP可以自定义身份概念,以及这些身份被管理的规则(身份验证)和认证加密(签名生成和验证). 一个Hyperledger Fabric区块链网络可以由一个或多个MSPs管理.这提供了成员操作的模块…
前言 在上个实验 Hyperledger Fabric 多组织多排序节点部署在多个主机上 中,我们已经实现了多组织多排序节点部署在多个主机上,但到目前为止,我们所有的实验都只是研究了联盟链的网络配置方法(尽管这确实是重难点),而没有考虑具体的应用开发.本文将在前面实验的基础上,首先尝试使用 Go 语言开发了一个工作室联盟链的项目信息智能合约,并成功将其部署至联盟链上:然后依据官方示例,使用 fabric-gateway 模块实现了一个能够管理项目信息智能合约的客户端:之后对比了 fabric-g…
Hyperledger Fabric 2.1 搭建教程 环境准备 版本 Ubuntu 18.04 go 1.14.4 fabric 2.1 fabric-sample v1.4.4 nodejs 12.18.2 Docker 安装 卸载旧版本 sudo apt-get remove docker docker-engine docker.io containerd runc 安装依赖 sudo apt-get install \ apt-transport-https \ ca-certific…
Kafka生产环境部署案例采用三个排序(orderer)服务.四个kafka.三个zookeeper和四个节点(peer)组成,共准备八台服务器,每台服务器对应的服务如下所示: kafka案例网络拓扑图如下: 一.基本环境搭建:关闭防火墙(或开放端口).selinux.安装配置docker(17.06.2-ce or later).docker-compose(1.14.0 or later).git.go(version 1.11.x).域名ip映射(/etc/hosts) 二.fabirc编…
在上一章:Fabric kafka生产环境部署的基础上部署Fabric CA,使用Fabric CA进行生成公私钥和证书等文件,全部替换cryptogen工具,包括生成TLS相关的私钥和证书等文件.       Fabric kafka生产环境部署有三个组织,分别为orderer(排序)组织和两个Peer(节点)组织,对应的ID为example.com.org1.example.com和org2.example.com.为了让生产环境Fabric CA具有扩展性和安全性,存在一个逻辑的根CA(R…
在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助.本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LTS.运行hyperledger fabric,建议至少4GB的内存. 更改aptget源:初装ubuntu的Aptget源很慢,国内提供的源有很多,可以找一个适合自己的,我采用的是阿里的源.更改aptget阿里源的方法:1 复制原文件备份 sudo cp /etc/apt/sources.list /…
1.Fabric简介 Fabric是超级账本中的一个项目,用以推进区块链技术.和其他区块链类似,它也有一个账本,使用智能合约,且是一个参与者可以分别管理自身交易的系统.它是一个联盟链.Fabric与其他区块链系统最大的不同在于它是隐私的.许可的网络.相对于像其他区块链那样通过“工作量证明”来验证身份(允许任何人加入网络),Fabric的成员通过会员注册服务提供商来加入网络.Fabric提供了多种可插拔的选择,账本数据可以以多种形式存储,共识机制可切换,且支持不同的会员服务.Fabric还提供了创…
环境:ubuntu 16.04 Docker  17.04.0-ce go 1.7.4 consoul v0.8.0.4 ======================================================================= 一.项目准备 想必能搜到这篇文章的人对Hyperledger Fabric(以下简称Fabric)已经是有了一定的了解了,我就不多介绍了. 先说一下Fabric的构建环境: Hyperledger Fabric  tag v1.0.0…
手动部署单机单节点 之前发布过官方的e2e部署方案,由于环境或是访问权限等各种问题,还是有相当一部分码友无法成功跑起来,故此,本章将来一次纯手动操作的集群部署. 主要需要的步骤如下: 1:环境整理 2:环境部署 3:源码安装 4:生成证书文件 5:orderer节点处理 6:peer节点处理 7:channel创建加盟 8:chaincode安装部署实例化.测试 本次不再分章,一章写完. 环境整理 这一步并非必须,但鉴于docker容器的实际情况,理论上linux内核需要在3.10及以上.有朋友…
面向 Java 开发人员的链代码简介 您或许听说过区块链,但可能不确定它对 Java™ 开发人员有何用.本教程将帮助大家解惑.我将分步展示如何使用 Hyperledger Fabric v0.6 来构建.运行和执行使用 Java 语言编写的智能合约或链代码.您将安装一些工具,定义本地区块链网络,构建并运行一个链代码智能合约. 有关区块链的概述,请参阅 developerWorks 博客中的 "区块链是什么?分布式账本技术入门". 前提条件 本教程假设您满足以下前提条件: 听说过区块链或…
我们前面关于Fabric的所有文章中用到的例子都没有CA Server,都是由cryptogen这个工具根据crypto-config.yaml而生成的.但是在实际生产环境中,我们肯定不能这么做,我们应该为每个Org建立一个CA,由CA来管理其中的用户.下面我们就试着讲Fabric CA集成到整个Fabric网络中,并用CA Client生成新用户,最终使用新用户调用ChainCode,验证新用户的合法性.我们仍然以官方的e2e_cli为例,关于这个例子的环境搭建,可以参考我的上一篇博客:htt…
PS:因为我部署的是集群(4peer+1order),需要为order,org1,org2分别建立一个CA,拿org1使用举例,获取org1根证书私钥名称:PRIVATE_KEY.sh #!/bin/bash folder="crypto-config/peerOrganizations/org1.example.com/ca" privName="" for file_a in ${folder}/* do temp_file=`basename $file_a`…
HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container (感谢Star). 这是一个基于fabric-sdk-java的项目,该项目的主要目的是简化HyperLedger/Fabric开发人员在SDK应用层上的工作流程,使得开发和部署更加简单. 该项目使用方便,只需要你的服务器上部署有Docker及docker compose环境即可,通过docker-c…
原文:http://blog.csdn.net/zhaoliang1131/article/details/54617274 Hyperledger Fabric超级账本 项目约定共同遵守的 基本原则 为:重视模块化设计,包括交易.合同.一致性.身份.存储等技术场景:代码可读性,保障新功能和模块都可以很容易添加和扩展:演化路线,随着需求的深入和更多的应用场景,不断增加和演化新的项目. 目录 Hyperledger Fabric超级账本 目录 一安装docker 二安装docker-compose…
gdb debug peer 程序 在开始我们从 github 上download 下来的源码包,实际上已经包含了可执行的 peer 程序,但是该程序是使用 release 方式编译的,并不支持gdb 直接debug,所以我们需要对源码从新编译peer. 在开始编译前,读者应该了解,由于“神秘的东方力量”,程序试图从golang 库中download 安装包时,需要“***”. 假设 fabric 的源码被download 在 /opt/gopath/src/github.com/hyperle…
fabric 使用 fabric-ca 服务 准备部分 首先需要用户从github上download fabric-ca 的工程代码 cd $GOPATH/src/github.com/hyperledger git clone https://github.com/hyperledger/fabric-ca.git 然后对它进行编译,在编译时,会需要安装 goimports 命令,貌似目前关于golang的相关内容都被“东方神秘力量”所限制,请读者们自行***. cd fabric-ca ma…
如何在相同的peer 节点上创建多个 channel 作者在hyperledger fabric 1.0.5 分布式部署 (五)已经向读者们介绍了一个简单的fabric 的部署流程,那么根据上一篇博客的内容,大家实际上可以推断出,创建channel ,实际上需要涉及到 generateArtifacts.sh 脚本和 scritp.sh 脚本 在一个启动了order 节点.peer 节点和cli 节点的fabric 环境里,实际创建一个channel 的操作步骤应该是怎样的呢? 首先应该利用 g…
梳理fabric e2e_cli 测试程序的具体步骤 作者在 hyperledger fabric 1.0.5 分布式部署 (一)中给读者们介绍了如何从零开始部署一个测试的 demo 环境,如果细心的读者可能会留意到,在启动fabric 的服务时,是直接执行network_setup.sh 脚本命令启动服务的. 如果我们打开 network_setup.sh 脚本查看,会发现启动的关键代码如下 function networkUp () { if [ -f "./crypto-config&qu…